【发布时间】:2014-04-18 13:33:12
【问题描述】:
我正在尝试编写一个程序,要求用户输入 4 个整数并打印输入的最大奇数。代码如下:
a = raw_input("Enter an int: ")
b = raw_input("Enter an int: ")
c = raw_input("Enter an int: ")
d = raw_input("Enter an int: ")
numbers = [a, b, c, d]
odd_numbers = []
print numbers
for i in numbers:
if i%2!=0:
odd_numbers.append(i)
else:
print "This is not an odd number."
for nums in odd_numbers:
max_num = max(odd_numbers)
print max_num
这是我收到的错误:
line 10, in <module>
if i%2!=0:
TypeError: not all arguments converted during string formatting
我做错了什么?
【问题讨论】:
-
试试这个 - a = input("输入一个整数:")
-
@TanveerAlam NO。永远不要在没有充分理由并且没有明确描述所有问题(如安全漏洞和性能问题)的情况下向初学者推荐 python2 的
input。尤其是当有更好的替代方案没有任何这些问题时。这里正确的做法当然是简单的做int(raw_input("..."))。 -
您还应该解释为什么这与使用 raw_input @TanveerAlam 不同并将其作为答案,尽管我应该认为这是 stackoverflow.com/questions/4915361/… 的副本
-
感谢 l4mpi 和 Paul。
-
谢谢!将输入转换为 int 就可以了!
标签: python string formatting