创建一个python程序,要求用户输入一个偶数奇数

2024-06-25 23:15:12 发布

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

我是python新手,我正在参加一个暑期在线课程来学习python。在

不幸的是,我们的教授并没有做什么。我们有一个任务,要我们做一个程序(python),它要求用户输入一个数字,它决定这个数字是偶数还是奇数。程序需要不断地询问用户输入,直到用户达到零。好吧,实际上我交了一个不起作用的代码,而且我的作业得到了100%的分数。不用说我们的教授很懒,真的帮不了什么忙。据我所知,我想知道正确的方法来做这件事!!!这是我所拥有的。我很尴尬,因为我知道如果很容易的话!在

counter = 1
num = 1
while num != 0:
counter = counter + 1
   num=int(input("Enter number:"))
   while num % 2 == 0:
   print ("Even", num)
else:
    print ("Odd", num)

Tags: 代码用户程序作业counter数字num分数
3条回答

使用input(),如果它只是特定于数字的输入,则可以使用int(input())或使用If/else语句进行检查

您已经拥有了一部分,该部分将一直持续到用户使用0项退出。在这个循环中,您只需要一个简单的if

while num != 0:
    num=int(input("Enter number:"))
    if num % 2 == 0:
        print ("Even", num)
    else:
        print ("Odd", num)

我省略了counter增量;我不知道为什么会出现在程序中,因为您从未使用过它。在

您的代码有几个问题:

  • 您永远不会使用counter,即使您定义了它。在
  • 您有一个不必要的嵌套while循环。如果用户输入的数字是偶数,那么您的代码将永远继续运行while循环。在
  • 您错误地使用了else子句,该子句可用于while循环。有关详细信息,请参见this post。在

以下是正确的代码:

while True:
    # Get a number from the user.
    number = int(input('enter a number: '))

    # If the number is zero, then break from the while loop
    # so the program can end.
    if number == 0:
        break

    # Test if the number given is even. If so, let the
    # user know the number was even.
    if number % 2 == 0:
        print('The number', number, 'is even')
    # Otherwise, we know the number is odd. Let the user know this.
    else:
        print('The number', number, 'is odd')

注意,我在上面选择了使用无限循环,测试循环内部的用户输入是否为零,然后中断,而不是在循环头中测试这种情况。在我看来,这是更干净的,但两者在功能上是相等的。在

相关问题 更多 >