W poniższym kodzie, chciałbym pętli while
aby wyjść jak najszybciej a
+ b
+ c
= 1000
. Jednak testy z instrukcjami print
pokazują, że trwa to tylko do wykonania pętli for
. Próbowałem już while True
, a następnie w zestawie zestaw False
, ale powoduje nieskończoną pętlę. Myślałem, że przy użyciu x = 0
, ustawienie x = 1
może działać, ale to też działa, aż do zakończenia pętli for
. Jaki jest najlepszy i najszybszy sposób na wyjście? Dzięki.Wyjście pętli while w Pythonie
a = 3
b = 4
c = 5
x = 0
while x != 1:
for a in range(3,500):
for b in range(a+1,500):
c = (a**2 + b**2)**0.5
if a + b + c == 1000:
print a, b, c
print a*b*c
x = 1
ignorując kwestię pętli ... masz zamiar mieć pływający problemy Chodzi o ... konkretnie, c jest zmiennoprzecinkowych # i tak będziesz chciał albo: zaokrąglić, rzucić, albo sprawdzić, czy abs (a + b + c-1000) <0.00001 (lub inny epsilon). Albo mógłbym być całkowicie w błędzie. – Foon
'c' jest unoszące się, ale nie miało to znaczenia. Program znajduje 'a + b + c = 1000' więc najwyraźniej nie dba o' 1000' kontra '1000.0'. Warto wiedzieć, ponieważ czasami może to być problem. – caadrider