簡體   English   中英

當我嘗試將重啟 function 添加到我的程序 PYTHON 時出現錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM