我希望我的程序在获得三个连续的零并打印错误消息时停止接受输入。不了解如何实现条件



我希望我的程序在得到三个连续的零时停止接受输入,并打印一条错误消息。不知道如何实现条件。下面是代码


def main():
number_list=[]
n = int(input("Enter the number of days: "))
for i in range(1, n+1):
item = float(input(f"Enter day {i} running length: "))

number_list.append(item)
average= sum(number_list)/len(number_list)
average = float("{:.2f}".format(average))
if(average < 3):
print("Your running mean of ", average, " km was too low! ")
if ( average >= 3):
print("You were persistent runner! With a mean", average, " km.")
if __name__ == "__main__":
main()

检查number_list的最后三个元素是否都为零,然后中断循环:

def main():
number_list = []
n = int(input("Enter the number of days: "))
for i in range(1, n + 1):
item = float(input(f"Enter day {i} running length: "))
number_list.append(item)
average = sum(number_list) / len(number_list)
average = float("{:.2f}".format(average))
if average < 3:
print("Your running mean of ", average, " km was too low! ")
if average >= 3:
print("You were persistent runner! With a mean", average, " km.")
if number_list[-3:] == [0, 0, 0]:
print("Last three running lengths were all zeroes, exiting...")
break

根据我的理解,听起来您需要它在用户输入000之后停止侦听输入,因此我将使用if语句

n = input("Enter the number of days: ")
if n == '000':
#what you want it to do
else:
n = int(n)

最新更新