Python:矩阵加法、减法和数乘

#矩阵加法、减法和数乘
print("Choose a function: 'addition', 'subtraction' or 'multiplication': ")
function = input()       #选择功能

if function == "addition" or function == "subtraction":
     matrix_1 = []       #定义矩阵规模
     matrix_2 = []
     matrix_3 = []
     line = input("Enter the line: ")
     row = input("Enter the row: ")
     line =int(line)
     row = int(row)
     number_1 = line * row

     number_2 = 1        #输入矩阵1      
     number_3 = 1
     print(f"Enter a {line} * {row} matrix 1: ")
     while number_2 <= number_1:
          if number_2 % row == 1:
               print(f"Enter line {number_3} : ")
               number_3 += 1
          a = input()
          a = int(a)
          matrix_1.append(a)
          number_2 += 1
     print(f"Finished enter matrix 1. The matrix: ")
     number_2 = 0
     while number_2 < number_1:
          print(matrix_1[number_2:number_2 + row])
          number_2 += row

     number_2 = 1        #输入矩阵2
     number_3 = 1
     print(f"Enter a {line} * {row} matrix 2: ")
     while number_2 <= number_1:
          if number_2 % row == 1:
               print(f"Enter line {number_3} : ")
               number_3 += 1
          b = input()
          b = int(b)
          matrix_2.append(b)
          number_2 += 1
     print(f"Finished enter matrix 2. The matrix: ")
     number_2 = 0
     while number_2 < number_1:
          print(matrix_2[number_2:number_2 + row])
          number_2 += row

     number_2 = 0        #计算
     if function == "addition":
          while number_2 < number_1:
               matrix_3.append(matrix_1[number_2] + matrix_2[number_2])
               number_2 += 1
     if function == "subtraction":
          while number_2 < number_1:
               matrix_3.append(matrix_1[number_2] - matrix_2[number_2])
               number_2 += 1

     if function == "addition":         #输出    
          print("Matrix 1 adds matrix 2 = ")
     if function == "subtraction":
          print("Matrix 1 subtracts matrix 2 = ")
     number_2 = 0
     while number_2 < number_1:
          print(matrix_3[number_2:number_2 + row])
          number_2 += row

if function == "multiplication":        #矩阵数乘
     matrix_1 = []
     matrix_2 = []
     line = input("Enter the line: ")
     row = input("Enter the row: ")
     k = input("Enter k: ")
     line =int(line)
     row = int(row)
     k = int(k)
     number_1 = line * row

     number_2 = 1        #输入矩阵
     number_3 = 1
     print(f"Enter a {line} * {row} matrix: ")
     while number_2 <= number_1:
          if number_2 % row == 1:
               print(f"Enter line {number_3} : ")
               number_3 += 1
          a = input()
          a = int(a)
          matrix_1.append(a)
          number_2 += 1
     print(f"Finished enter matrix. The matrix: ")
     number_2 = 0
     while number_2 < line * row:
          print(matrix_1[number_2:number_2 + row])
          number_2 += row

     number_2 = 0        #计算
     while number_2 < number_1:
          matrix_2.append(k * matrix_1[number_2])
          number_2 += 1

     print("k * matrix = ")        #输出
     number_2 = 0
     while number_2 < number_1:
          print(matrix_2[number_2:number_2 + row])
          number_2 += row     

有很多代码块重复出现(如输入矩阵、输出矩阵的部分),是因为用现在学的基础知识还不能解决~~~

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值