当我试图将重新启动功能添加到程序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()

抱歉没有英文代码。这是为学校项目,他们真的不想用挪威语而不是英语(还有变量…(。

高级中的Thx

试试这个

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

最新更新