我是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)
答案 0 :(得分:2)
您的代码存在一些问题:
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')
请注意,我选择使用无限循环,测试用户输入是否在循环内部为零,然后中断,而不是在循环头中测试此条件。在我看来,这是更清洁,但两者在功能上是等价的。
答案 1 :(得分:1)
在用户退出0
条目之前,您已经拥有了继续的部分。在该循环中,您只需要一个简单的if
:
while num != 0:
num=int(input("Enter number:"))
if num % 2 == 0:
print ("Even", num)
else:
print ("Odd", num)
我遗漏了counter
增量;我不确定为什么会在程序中,因为你从不使用它。
答案 2 :(得分:0)
使用input()
如果只有其特定数字输入,您可以使用int(input())
或使用If/else
语句检查
答案 3 :(得分:0)
您的代码没有缩进,您需要将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