【发布时间】:2021-04-14 00:21:10
【问题描述】:
我正在编写一个 Python 程序,它不断向用户询问从 1 到 100 的数字,然后一旦用户输入数字 0,程序就会打印出提供的最小数字和最大数字,以及所有数字的平均值数字。
我唯一的问题:当我想排除 0 时,我一直将 0 作为输入的最小值。
我已经尝试过以下操作:
count = 0
total = 0
number = 1
smallest = 0
largest = 0
while number != 0:
number = int(input("Please input a value from 1 to 100: "))
if number < 0 or number > 100:
print("Why you give me value outside of range :(\n")
count -= 1
continue
count += 1
total = total + number
if number > largest:
largest = number
if number == 0:
count -= 1
average = total / count
if number < smallest:
smallest = number
print("The results are: ")
print('Smallest: {}'.format(smallest))
print('Largest: {}'.format(largest))
print('Average: {}'.format(average))
print("\nThank you!")
【问题讨论】:
-
我得到了输出:
Smallest: 0。程序还有其他问题吗? -
输出应排除 0 @quamrana
-
如果数字(即0)
-
您必须在 while 循环内设置
smallest,而不是在循环外更改它。 -
不幸的是,如果我把它放在while循环中,输出仍然包括0。 @JanChristophTerasa
标签: python loops conditional-statements minimum