我为我正在进行的在线课程编写了此代码,您无法发布代码并在那里获得具体帮助。我希望有人在这里提供帮助。 代码 -
largest = None
smallest = None
numI = 0
while True:
num = raw_input("Prompt you")
if num == "done":
break
try:
numI = int(num)
except:
print "Invalid input"
continue
if numI >= largest or numI < smallest:
if numI > largest:
largest = numI
else:
smallest = numI
print "Maximum is",largest
print "Minimum is",smallest
为什么返回“Minimum is None”? 我尝试了两个If循环,一个If和Elif,现在这个嵌套循环。无论我似乎达不到设定的最小值。
任何帮助非常感谢。
(代码已上交并评级,因此您无法破坏该部分:))
答案 0 :(得分:4)
x&lt;没有人总是返回false,所以在While True:
语句中你需要添加
if largest==None:
largest=numI
if smallest==None:
smallest=numI
代码:
largest = None
smallest = None
numI = 0
while True:
num = raw_input("Prompt you")
if num == "done":
break
try:
numI = int(num)
except:
print "Invalid input"
continue
if largest==None:
largest=numI
if smallest==None:
smallest=numI
if numI > largest or numI < smallest:
if numI > largest:
largest = numI
else:
smallest = numI
print "Maximum is",largest
print "Minimum is",smallest
注意使用print('Maximum is ' + str(largest))
是一种很好的做法,因为它与3.4
答案 1 :(得分:1)
在python 2中,None
少于一切。所以你的numI < smallest
条件永远不会通过。您应该显式测试None,以便numI
设置为初始传递中的第一个值,然后它可以正常更新。
此外,您应该使用两个独立的检查:
if largest is None or numI > largest:
largest = numI
if smallest is None or numI < smallest:
smallest = numI