こんにちは、これは初めてのPythonコードです。私はパーセンテージをユーザに尋ねるコードを書いており、受け入れ可能な入力がユーザによって入力されるまで質問を続ける。しかし、私がこれを実行すると、入力した入力の種類にかかわらずwhileループは中断しません。ループはPythonで連続して実行されていますが、良い入力か悪いですか?
import math
while True:
try:
entered = float(raw_input("Please enter the velocity (as a percentage of the speed of light): "))
except ValueError:
print("Sorry, an acceptable input was not entered. Try again.")
continue
if entered > 100:
print("Sorry, a velocity greater than the speed of light cannot be used. Try again.")
continue
elif entered <= 0:
print("Sorry, a percent cannot be negative. Try again.")
continue
else:
#the percent entered is valid, break out of while loop
break
print("Ship is traveling at ", entered, "% the speed of light.")
print(" ")
speedOfLight = 299792458 #speed of light constant
percentage = entered/100 #turn entered percent into decimal
speed = speedOfLight * percentage #actual speed (in m/s)
denominator = math.sqrt(1 - (percentage ** 2)) #denominator of factor equation
factor = 1/denominator #solve for given factor equation
shipWeight = 70000 * factor #given ship weight * factor
alphaCentauri = 4.3/factor # given times divided by the factor
barnardsStar = 6.0/factor
betelgeuse = 309 /factor
andromeda = 2000000/factor
print("At this speed: ")
print(" Weight of the shuttle is ", shipWeight)
print(" Perceived time to travel to Alpha Centauri is ", alphaCentauri, " years.")
print(" Perceived time to travel to Barnard's Star is ", barnardsStar, " years.")
print(" Perceived time to travel to Betelgeuse is ", betelgeuse, " years.")
print(" Perceived time to travel to Andromeda Galaxy is ", andromeda, " years.")
で、必要に応じて、我々はあなたを助けることができるようにインデントを修正するには時間がかかるしてください動作します。 – Dzhao