Я хотел был бы сбросить/перезапустить мою программу, но на основе пользовательского ввода. Скажите, если пользователь наберет «да» и нажимает кнопку, программа перезагрузится/перезапустится и запустится. Я делаю калькулятор для энергии; Проблемы физики. Выходы - это механическая энергия, кинетическая энергия и потенциальная энергия. Все формулы закодированы правильно, все работает должным образом, за исключением того, что у меня нет возможности перезапустить программу, не нажимая на файл и не открывая его снова.Как сбросить/перезапустить программу в Python с пользовательского ввода?
#Importing "time" and "math" so I can use the time.sleep and rounding functions
import time
import math
restart=1
user_r1=float(input ("What is the mass of your object (kg) = "))
print ("")
user_r2=float(input ("Whats is the height you are dropping from (m) = "))
print ("")
user_r3=float(input ("What is the velocity (m/s) = "))
#Formulas that solve from the inputs given
EKinetic = 0.5 * user_r1 * user_r3 * user_r3
EPotential = user_r1 * 9.81 * user_r2
MechEnergy = (EPotential) + (EKinetic)
#Rounding - To change the ammount of sigdigs change the # infront of the f'
EKinetic='%.1f' % EKinetic
EPotential='%.1f' % EPotential
MechEnergy='%.1f' % MechEnergy
#Spitting out the info the user will see
print ("")
print ("===============================================================================")
print ("Kinetic Energy = ",EKinetic,"J")
print ("")
print ("Potential Energy = ",EPotential,"J")
print ("")
print ("Mechanical Energy = ",MechEnergy,"J")
print ("===============================================================================")
print ("")
#This time.sleep will make the program pause for (x# of seconds)
time.sleep(3)
user_r4=(input ("To do another calculation type yes and hit enter = "))
if user_r4 == ("yes"):
print ("YAY")
###PUT RESTART CODE HERE###
###EVERYTHING DOWN ARE JUST PLACE HOLDERS FOR THE RESTART CODE###
else:
print ("Please type yes to continue")
time.sleep(1)
user_r4=(input ("To do another calculation type yes and hit enter = "))
if user_r4 == ("yes"):
print ("YAY")
###PUT RESTART CODE HERE###
else: print ("Thats enough!!!")
time.sleep(3)
Есть ли причина, по которой вы не можете использовать простой цикл? – Nabla
Или вы используете ['goto'] (http://entrian.com/goto/). –