这是一个创建于 3894 天前的主题,其中的信息可能已经有所发展或是发生改变。
不学计算机,没有编程经验,在看《与孩子一起学编程》,第五章习题有一题“编写一个程序询问一间长方形房间的尺寸,单位为米,然后计算覆盖整个房间需要多少地毯,并显示出来”
题目条件没设全,猜测应该是假设地毯为1米1块。
我写成:
print "This is a program for room."
print "How long is the room's width?",
a = int(raw_input())
print "How long is the room's height?",
b = int(raw_input())
M = a * b
print "The whole room needs", M, "ditan."
这个没问题。
但看书里可以把提示语写进raw_input里,所以写了第二个:
print "This is a program for ditan."
a = raw_input("How long is the room's width?"),
b = int(a)
c = raw_input("How long is the room's height?"),
d = int(c)
m = b*d
print "The whole room needs", m, "ditan."
提示 int() argument must be a string or a number, not 'tuple'
请问何解?b=int(a),这个a不是已经被赋值成一个字符串了么,怎么是tuple呢?
3 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
yelite 2014-02-04 15:13:02 +08:00 via iPhone 2
因为在raw_input后面加了',' 这样就变成了一元的tuple了
|
|
|
2
vivasiva 2014-02-04 15:49:28 +08:00
谢谢,收到答案后重新翻了教程,发现是我把print后带逗号让用户同行输入和raw_input弄混了,raw_input不能这么使用。
|
|
|
3
detailyang 2014-02-05 20:20:52 +08:00
毕竟Python是通过逗号来确定tuple, 1,即(1,)
|