Python 奇数或偶数->;重复此步骤,直到满足条件
我知道这是非常基本的,但有人能告诉我如何扩展代码,只要用户输入一个非零的数字,就可以反复询问有关数字的问题。但如果他们输入0,它应该停止询问并说再见。 我试着用WHILE来改进它,但我不知道如何强迫它反复询问-提前谢谢你Python 奇数或偶数->;重复此步骤,直到满足条件,python,python-3.x,Python,Python 3.x,我知道这是非常基本的,但有人能告诉我如何扩展代码,只要用户输入一个非零的数字,就可以反复询问有关数字的问题。但如果他们输入0,它应该停止询问并说再见。 我试着用WHILE来改进它,但我不知道如何强迫它反复询问-提前谢谢你 print("odd/even checker") your_number = input("gimme your number ") number = int(your_number) left = number % 2 while
print("odd/even checker")
your_number = input("gimme your number ")
number = int(your_number)
left = number % 2
while number != 0:
if left > 0:
print("odd")
else:
print("even! ")
break
print("thanks, bye")
将整个代码放在while循环中,并将
打印(“谢谢!再见!”)
带到开头:
print("odd/even checker")
while 1 :
number = input("gimme your number! :> ")
declared_number = int(number)
if declared_number == 0:
print("Thanks! Bye!")
break
left = declared_number % 2
if left > 0:
print("odd")
else:
print("even" )
使用以下命令:
print("odd/even checker")
while True:
number = input("gimme your number! :> ")
declared_number = int(number)
if declared_number != 0:
left = declared_number % 2
if left > 0:
print("odd")
else:
print("even" )
else:
print("Thanks! Bye!")
break
使用
while
循环
打印(“奇偶校验”)
尽管如此:
number=输入(“给我你的号码!:>”)
声明的\u编号=整数(编号)
如果声明的_数==0:
打破
左=声明的\u编号%2
如果左侧>0:
打印(“奇数”)
其他:
打印(“偶数”)
打印(“谢谢!再见!”)
实现这一点的方法很少,但核心仍然是您需要从循环中的用户那里获取输入,然后您可以检查退出的条件。一种方法是:
print("odd/even checker")
# Predefine a value that will pass the condition check in the `while` below
declared_number = -1
while declared_number != 0:
# from now on, the value will be updated by the user
number = input("gimme your number! :> ")
declared_number = int(number)
left = declared_number % 2
if left > 0:
print("odd")
else:
print("even" )
print("Thanks! Bye!")
另一种方法是启动无限循环,如果不满足条件,则使用break
退出:
print("odd/even checker")
while True: # loop forever
number = input("gimme your number! :> ")
declared_number = int(number)
if declared_number == 0:
# explicitely break the loop
break
left = declared_number % 2
if left > 0:
print("odd")
else:
print("even" )
print("Thanks! Bye!")
解决这个问题的基本方法是
num = int(input("Enter a number: "))
while (num != 0):
if (num % 2 == 0):
print('even')
else:
print('odd')
num = int(input('Enter a number again: '))
if num == 0:
print('Goodbye')
这个输出
Enter a number: 5
odd
Enter a number again: 2
even
Enter a number again: 0
Goodbye
while循环外部的if语句是可选的。代码也可以写成
1 num = int(input("Enter a number: "))
2 while (num != 0):
3 if (num % 2 == 0):
4 print('even')
5 else:
6 print('odd')
7 num = int(input('Enter a number again: '))
8 print('Goodbye')
这是因为当控件到达第8行时,
num
变量肯定是0。现在这将是完整的,对GO有好处。您使用该声明的\u number>0更改了程序的逻辑test@DivyesshMaheshwari谢谢你投票否决我的答案你的代码只检查正数。OP没有检查,也不需要。现在好多了!我没有投反对票,但我的两个猜测是使用while 1
而不是while True
;最重要的是,这个代码永远循环:你需要一个中断
的地方。我没有否决投票you@sal谢谢你的指点,编辑。这两个是不相等的。在第一个示例中,0
输入在打印“偶数”之前不会终止循环。在第二种情况下,它会立即中断循环。我认为0是偶数。是的,我同意你的看法。我的观点只是这两种行为不同——我不是说一种更好或更糟。不用担心,谢谢你指出这一点。没有显示WHILE用法,所以。。除了“[while]被错误地使用”之外,没什么好说的。好了,现在清楚了。非常感谢。