如果最后一行为true,那么它将返回到循环的开始?
p = int(input("input value of p: ")
q = int(input("input value of q: ")
import random
list(range(-q, q)):
while p != p + 1:
x1 = random.choice(l)
x0 = random.choice(l)
if((q == x0 * x1) and (-p == x0 + x1)):
print(x0, x1)
else:
if((q != x0 * x1) or (-p != x0 + x1)):
#What do i put here to return to the beginning of the loop?
2条答案
按热度按时间hc2pp10m1#
如果不满足条件
((q == x0 * x1) and (-p == x0 + x1))
,则循环将自动返回到开始不需要在
else
块内用公式表示逆逻辑if((q != x0 * x1) or (-p != x0 + x1))
,因为这就是else
的含义。你的while循环是
while p != p + 1
,但是目前你没有在任何地方改变p
的值,所以你没有真正检查任何有用的东西。如果你只是想保持循环,你可以做while True
(但是你必须在你的循环中的某个地方有一个break
!)你还没有说代码的意图是什么,但我猜你希望它在打印匹配值后停止,在这种情况下,你可以这样做:
h7appiyu2#
这可能对你有用。
我还添加了一种方法,使用户无法输入任何负数字符串或数字。)
这应该回到循环的顶部。
continue
命令只在循环中工作,在其他地方不工作...