![](/img/trans.png)
[英]How do I restart the main() function in my python script? The program restarts no matter what input I add
[英]Errors when I try to add restart function to my program PYTHON
我正在創建一個代碼。 它在沒有 def 的情況下工作,但我希望代碼最后重新啟動(打印問題“你不想重新啟動?”)並從頭開始啟動程序。 在我在頂部添加 def 之前,它工作得很好,並且
restart=input('You want to restart?')
if restart=='YES': my_func()
這是我的代碼:
#rektangel
def prog():
lengde=int(input("Hva er lengden?"))
bredde=int(input("Hva er bredden?"))
areal=lengde*bredde
omkrets=(lengde+bredde)*2
#omkrets
radius=int(input("Hva er radiusen til sirkelen?"))
pi = 3.14
arealSirkel=pi*radius*radius
omkretsSirkel=pi*2*radius
svar=input("Velger du rektangel eller sirkel? \n")
if (svar=='Rektangel' or svar=='rektangel' or svar=='r' or svar=='R' or svar=='1'):
rektangel=input("Skal du finne areal eller omkrets")
if (rektangel=='Areal' or rektangel=='areal' or rektangel=='a' or rektangel=='A' or rektangel=='1'):
print("{:.2f}".format(areal),"cm")
elif (rektangel=='Omkrets' or rektangel=='omkrets' or rektangel=='o' or rektangel=='O' or rektangel=='2'):
print("{:.2f}".format(omkrets),"cm")
elif (svar=='Sirkel' or svar=='sirkel' or svar=='s' or svar=='S' or svar=='2'):
sirkel=input ("Skal du finne areal eller omkrets? \n")
if (sirkel=='Areal' or sirkel=='areal' or sirkel=='a' or sirkel=='A' or sirkel=='1'):
print("{:.2f}".format(omkretsSirkel),"cm")
elif (sirkel=='Omkrets' or sirkel=='omkrets' or sirkel=='o' or sirkel=='O' or sirkel=='2'):
print("{:.2f}".format(omkretsSirkel),"cm")
else:
print("du skrev ugyldig verdi")
prog()
對不起,不是英文代碼。 這是針對學校項目的,他們真的不想用挪威語而不是英語(還有變量......)。
謝謝先進
嘗試這個
while True:
# main program
#rektangel
def prog():
lengde=int(input("Hva er lengden?"))
bredde=int(input("Hva er bredden?"))
areal=lengde*bredde
omkrets=(lengde+bredde)*2
#omkrets
radius=int(input("Hva er radiusen til sirkelen?"))
pi = 3.14
arealSirkel=pi*radius*radius
omkretsSirkel=pi*2*radius
svar=input("Velger du rektangel eller sirkel? \n")
if (svar=='Rektangel' or svar=='rektangel' or svar=='r' or svar=='R' or svar=='1'):
rektangel=input("Skal du finne areal eller omkrets")
if (rektangel=='Areal' or rektangel=='areal' or rektangel=='a' or rektangel=='A' or rektangel=='1'):
print("{:.2f}".format(areal),"cm")
elif (rektangel=='Omkrets' or rektangel=='omkrets' or rektangel=='o' or rektangel=='O' or rektangel=='2'):
print("{:.2f}".format(omkrets),"cm")
elif (svar=='Sirkel' or svar=='sirkel' or svar=='s' or svar=='S' or svar=='2'):
sirkel=input ("Skal du finne areal eller omkrets? \n")
if (sirkel=='Areal' or sirkel=='areal' or sirkel=='a' or sirkel=='A' or sirkel=='1'):
print("{:.2f}".format(omkretsSirkel),"cm")
elif (sirkel=='Omkrets' or sirkel=='omkrets' or sirkel=='o' or sirkel=='O' or sirkel=='2'):
print("{:.2f}".format(omkretsSirkel),"cm")
else:
print("du skrev ugyldig verdi")
prog()
while True:
answer = str(input('Run again? (y/n): '))
if answer in ('y', 'n'):
break
print("invalid input.")
if answer == 'y':
continue
else:
print("Goodbye")
break
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.