python 3.5中如何用input输入多个数值?用什么分分隔开? 还有函数中 怎么把数组作为变量弄进去

求三元一次方程组 用的cramer法则 下面是用2.7写的代码
def COUNTT(A,B,C):
return A[0]*B[1]*C[2] + B[0]*C[1]*A[2] + C[0]*A[1]*B[2] - C[0]*B[1]*A[2] -B[0]*A[1]*C[2] - A[0]*C[1]*B[2]

M=[0]*3
N=[0]*3
P=[0]*3
Q=[0]*3
for i in range(3):

print ('请依次输入第',i+1,'个方程的x,y,z的系数以及常数项',end='')
M[i],N[i],P[i],Q[i]=input( )
D=COUNTT(M,N,P)

if D==0 :
print ('根不存在或者有无穷多个根')
else:
print ('x=',COUNTT(Q,N,P)/D)
print ('y=',COUNTT(M,Q,P)/D)
print ('z=',COUNTT(M,N,Q)/D)

2.7里面 input那里直接逗号分隔数据就输入进去了
但是到3.5 出现好多问题啊 input不会用了 怎么输都说 too many values
不带分隔倒是可以输进去4个1位数 比如“1113” 这就是 1,1,1,3,我想要两位数就不会了

还有那个函数部分 报错 怎么解决
return A[0]*B[1]*C[2] + B[0]*C[1]*A[2] + C[0]*A[1]*B[2] - C[0]*B[1]*A[2] - B[0]*A[1]*C[2] - A[0]*C[1]*B[2]
TypeError: can't multiply sequence by non-int of type 'str'
求救啊

1、Python中获取键盘值的方式:input()函数,然后打印该数据。

2、也可以指定输入的类型,Python有六个标准数据类型分别是:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)及Dictionary(字典)。

3、input()获取的值Python会默认类型为str。如果直接赋值将会自动默认数据类型。

4、input()函数解释如下:Read a string from standard input.  The trailing newline is stripped.   指的是输入之后,按的回车The prompt string, if given, is printed to standard output without a    trailing newline before reading input. 。

5、组合其他函数也有不同的用法。例如,eval(input())。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

改后的代码如下:(python3中input得到的结果是str类型的,要转换才能用)

#!usr/bin/env python3.5
#-*- coding:utf-8 -*-

def COUNTT(A,B,C):
    return A[0]*B[1]*C[2] + B[0]*C[1]*A[2] + C[0]*A[1]*B[2] - C[0]*B[1]*A[2] -B[0]*A[1]*C[2] - A[0]*C[1]*B[2]
   
M,N,P,Q=[0]*3,[0]*3,[0]*3,[0]*3

for i in range(3):    
    print('请依次输入第',i+1,'个方程的x,y,z的系数以及常数项:',end='')
    M[i],N[i],P[i],Q[i]=[float(items) for items in input().split(',')]
D=COUNTT(M,N,P)


if D==0 :
    print ('根不存在或者有无穷多个根')
else:
    print ('x=',COUNTT(Q,N,P)/D)
    print ('y=',COUNTT(M,Q,P)/D)
    print ('z=',COUNTT(M,N,Q)/D)


执行结果:

[willie@bogon zhidao]$ python3 cramer.py 

请依次输入第 1 个方程的x,y,z的系数以及常数项:324,0,2,34

请依次输入第 2 个方程的x,y,z的系数以及常数项:22,12,2,0

请依次输入第 3 个方程的x,y,z的系数以及常数项:0,12,23,344

x= 0.003796728971962617

y= -2.7377823208722742

z= 16.384929906542055

本回答被提问者和网友采纳
相似回答