gpt4 book ai didi

python - 练习 5.2 难住了

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:33 25 4
gpt4 key购买 nike

尝试学习Python。已经在这呆了好几个小时了。

我想做的是输入一些数字(例如 7、4、6、10 和 2),然后打印最大值和最小值。 我的代码适用于我输入的每个数字(1-9)。一旦我达到 10 或更高,它就会变得不稳定。看起来 10 读作是 1,后面附加了一个零,并且它表示 10 是最小值。我这里哪里出错了?。练习是输入几个数字,然后打印最大值和最小值。我的代码适用于我输入的每个数字(1-9)。一旦我达到 10 或更高,它就会变得不稳定,并列出 10 作为最小值。 我这里哪里出错了?.

largest = None
smallest = None
the_list = []

while True:
num = input('Enter a number or done: ')

#Handle the edge cases
if num == 'done' : break
if len(num) < 1 : break # Check for empty line

# Do the work
try :
number = int(num)
the_list.append(num)
except:
print("Invalid input")
#continue

print(the_list) # NOTE: This is new so I can see what is in the_list

for value in the_list:
if smallest is None:
smallest = value
elif value < smallest:
smallest = value

for the_num in the_list:
if largest is None:
largest = value
elif the_num > largest:
largest = value #the_num

print("Maximum is", largest)
print( "Minimum is", smallest)

最佳答案

问题是您将字符串附加到列表中,而不是整数。也就是说,您的列表现在包含以下内容(如果您输入 2,然后输入 10:

the_list = ['2', '10']

由于字符串是按字典顺序比较的,因此“10”小于“2”,因为“1”小于“2”。您要做的就是附加整数。

try :
number = int(num)
the_list.append(number)
except:
print("Invalid input")
#continue

这样,您就可以比较数字的数值,并得到正确的答案!

关于python - 练习 5.2 难住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45527183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com