Python 最小/最大数字程序,一旦插入负数,输入必须停止

Python 最小/最大数字程序,一旦插入负数,输入必须停止,python,input,numbers,Python,Input,Numbers,此程序的目的是在列表中查找最小值和最大值。当用户输入负数时,程序应该停止。以下是我迄今为止编写的代码: 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(ma

此程序的目的是在列表中查找最小值和最大值。当用户输入负数时,程序应该停止。以下是我迄今为止编写的代码:

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

你应该什么时候检查

您必须比较值 i、 e.如果值>=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循环将中断