如何才能使它如果最后一行为真,那么它会回到循环的开头?
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?
答案 0 :(得分:0)
如果不满足条件((q == x0 * x1) and (-p == x0 + x1))
,循环将自动返回到开始
没有必要在if((q != x0 * x1) or (-p != x0 + x1))
块中制定逆逻辑else
,因为这是else
的含义。
你的while循环是while p != p + 1
,但目前你不会在任何地方更改p
的值,所以你并没有真正检查任何有用的东西。如果你只想继续循环,你可以while True
(但你的循环中必须有break
!)
你还没有说出代码的意图是什么,但我猜你想在打印匹配值后停止它,在这种情况下你可以这样做:
import random
p = int(input("input value of p: ")
q = int(input("input value of q: ")
l = range(-q, q)
while True:
x1 = random.choice(l)
x0 = random.choice(l)
if ((q == x0 * x1) and (-p == x0 + x1)):
print(x0, x1)
break
答案 1 :(得分:-2)
这可能适合你。
我还添加了一种方法,因此用户无法输入任何否定的字符串或数字。)
l=[]
while q<=0:
try:
q=int(input("Enter a number"))
except:
print("That is not a number!")
continue
while p<=0:
try:
p=int(input("Enter a number"))
except:
print("That is not a number!")
continue
import random
list(range(-q, q))
print(l)
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)):
continue
这应该回到循环的顶部。
continue
命令只能在循环中工作,不能在其他地方工作......