Smallest/largest 数字程序,一旦输入负数就必须停止输入

Smallest/largest numbers program, input must stop once negative number is inserted

这个程序的目的是找出列表中的最小值和最大值。用户输入负数的那一刻,程序应该停止。这是我到目前为止编写的代码:

user_inputs = []
number = int(input())

for i in range(number):
    value = int(input())
    if i >= 0:
        user_inputs.append(value)
    else:
        break

print(min(user_inputs))
print(max(user_inputs))

如您所见,我是编程新手,仍在努力寻找循环背后的逻辑。当然,此代码充满错误,非常感谢任何有用的改进。提前致谢。

您正在查看

i

什么时候应该检查

价值

你必须比较价值 即如果值 >= 0 你正在使用 i 这是迭代次数

兄弟你犯的一个错误是你在使用

for i in range(number):

基本上,通过这样做,您是在告诉编译器重复 for 循环中的代码“次数”,显然每次用户输入新数字时数字都会发生变化,从而导致错误 让代码做你想做的事情的正确方法是:

user_inputs = []
while True:
   number = int(input('Enter a positive number : '))
   if number >= 0 :
      user_inputs.append(number)
   else:
      print(user_inputs)
      print('Smallest number in list is : ',min(user_inputs))
      print('Largest number in list is : ',max(user_inputs))
      break

这里while循环会一直运行直到输入负数,所以当输入负数时while循环会中断。