创建一个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)

您的代码存在几个问题:

  • 你从不使用counter,即使你定义了它。
  • 您有一个不必要的嵌套while循环。如果用户输入的数字是偶数,则您的代码将继续永远运行while循环。
  • 您错误地使用了while循环中可用的else子句。有关更多详细信息,请参阅此帖子。

以下是更正后的代码:

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')

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

您已经拥有继续的部分,直到用户退出并0条目。 在该循环中,您只需要一个简单的if

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

我省略了counter增量;我不确定为什么它会在程序中,因为您从不使用它。

使用input()和如果它只有数字特定的输入,您可以使用int(input())或使用If/else语句来检查

您的代码没有缩进,您需要将if条件与else一起使用,而不是while

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

示例运行

Enter number:1
Odd 1
Enter number:2
Even 2
Enter number:3
Odd 3
Enter number:4
Even 4
Enter number:5
Odd 5
Enter number:6
Even 6
Enter number:0
Even 0

相关内容

  • 没有找到相关文章

最新更新