이 작동 ...
error33 = 2
while error33 > 1:
while True:
try:
survivalrateforjuveniles = float(input("Please enter the survival rate for poomen\n"))
break
except ValueError:
print("Please enter a number between 0 and 1")
continue
else:
error33 = 0
break
나는 당신이 일을 정확히 알고하지 않습니다 ...하지만 난이 비슷한 somehting를 사용하는 것이라고 생각 :
error33 = 2
survivalrateforjuveniles = -1.0
while error33 > 1:
while not (0 < survivalrateforjuveniles < 1):
survivalrateforjuveniles = input("Please enter the survival rate for poomen\n")
try:
survivalrateforjuveniles = float(survivalrateforjuveniles)
except ValueError:
survivalrateforjuveniles = -1
print("Please enter a number between 0 and 1")
print('do what you want')
error33 =0
솔루션과 크게 다르지 않지만 사용자는 break
이 필요하지 않으며 더 강력 해 보입니다. 그러나 survivalrate...
및 다른 입력 (내가 가진 것 같음)을 읽는 함수를 만드는 것은 동일한 코드 행을 두 번 이상 사용하지 않을 것이므로 훨씬 더 좋을 것입니다. 이는 좋은 소프트웨어를 작성하는 기본적인 방법 중 하나입니다. .
'error33' 절대로 변경되지 않으십니까? 그러면 멈추지 않을 것입니다. – fzzle
코드를 작성 하시겠습니까? – PortableGibbon
이 코드에서는 많은 부분이 잘못되었습니다. int를 int로 변환 할 필요가 없습니다. 'error33 = 2'는 좋습니다. 당신의 상태는 결코 수정되지 않고 전혀 사용되지 않는'error33'에 있습니다. 당신은 다른 하나의 내부에 두 개의 'while'이 있는데, 그 중 하나는 끝나지 않습니다. 당신의 루프는'survivalrateforjuveniles'가 전혀 플로트가 아니라면 휴식을 취할 것입니다.'survivalrateforjuveniles'가 0과 1 사이의 부동 소수점이 아니라면 휴식을 원하고있는 것 같습니다. – Efferalgan