python程序不会在ord中打印提示

2024-04-19 11:12:40 发布

您现在位置:Python中文网/ 问答频道 /正文

count=1
while count<6:
   number1=int(input('Enter first number: '))
   count+=1
   if count==2:
     number2=int(input('Enter second number: '))
     count+=1
   elif count==3:
     number3=int(input('Enter third number: '))
     count+=1
   elif count==4:
        number4=int(input('Enter fourth number: '))
        count+=1
   elif count==5:
        number5=int(input('Enter fifth number: '))
        count+=1
   else:
        print('                            ')

当我运行此命令时,它会提示第一个数字,然后是第二个、第四个,然后是第一个。我做错了什么,不是按1到5的顺序?谢谢


Tags: numberinputifcountintfirstentersecond
3条回答

以下代码按预期工作:

count=0
while count<6:
   count+=1
   if count == 1:
       number1=int(input('Enter first number: '))
   elif count==2:
     number2=int(input('Enter second number: '))
   elif count==3:
     number3=int(input('Enter third number: '))
   elif count==4:
        number4=int(input('Enter fourth number: '))
   elif count==5:
        number5=int(input('Enter fifth number: '))
   else:
        print('                            ')

代码没有执行的原因是,循环将对代码求值,然后继续,即当count==2时,只有该语句才会在该循环中运行;之后,循环将再次运行,并再次显示

Enter first number:

此外,由于在开始时向计数器变量添加1,并且在给定输入时,为每个循环添加2

您忘记了在第一个条目中添加条件

我会这样重写:

count=1
while count<6:
    if count==1:
        number1=int(input('Enter first number: '))
        count+=1
    if count==2:
        number2=int(input('Enter second number: '))
        count+=1
    if count==3:
        number3=int(input('Enter third number: '))
        count+=1
    if count==4:
        number4=int(input('Enter fourth number: '))
        count+=1
    if count==5:
        number5=int(input('Enter fifth number: '))
        count+=1
    else:
        print('                            ')

您可能会发现,这对于同类未来项目来说更短、更有用:

orderingList=['first','second','third','fourth','fifth']
numbers = []
for i in range(len(orderingList)):
    ordering = orderingList[i]
    number = int(input('Enter '+ordering+' number: '))
    numbers.append(number)
print(numbers)

相关问题 更多 >