我一直在上 Coursera 的课程,用 Python 为每个人编程。但是第 7 周的一项作业 5.2 引起了我的注意。
目的是让用户输入一些数字并在他输入他想要的所有数字时输入完成。之后输出的应该是他输入的最大数和最小数。
这就是问题所在。如果我输入负数,则不会显示。假设我输入:32、55、10、-2 76。输出应该是 76 和 -2。但真正发生的是打印出 76 和 10。
你们知道为什么会这样吗?
这是代码。
largest = None
smallest = None
while True:
try:
num = input("Enter a number: ")
if num == "done":
break
print (num)
num = int(num)
for number in range(num):
if largest is None or largest < num:
largest = num
continue
elif smallest is None or smallest > num:
smallest = num
except ValueError:
print("Please, enter only numbers.")
print ("Maximum", largest)
print ("Minimum", smallest)
原文由 J.Felipe 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,问题是如果它不是列表,你为什么要迭代一个 int?你可以不用循环来做:
输出: