第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么我的 Python 函數(shù)沒(méi)有返回任何值?

為什么我的 Python 函數(shù)沒(méi)有返回任何值?

我正在嘗試使用“python”構(gòu)建一個(gè)非 GUI 應(yīng)用程序,但由于某種原因,我的“main_menu()”函數(shù)沒(méi)有返回我需要的變量import pandas as pd#list for containing telephone numbertelephone = []#list containing contact namecontact_name=[]def main_menu():    intro = """ ----------------------WElCOME to MyPhone-----------------------    To select the task please type the number corrosponding to it    1)Add New Number    2)Remove Contact    3)Access old contact    ----> """    main = int(input(intro))    return mainmain_menu()def clean():    print("--------------------------------------------------------------------------------------")if main ==1:    def add_number():        clean()        try:            print("How many number(s) you want to add. Remeber if you don't want to add any number just click enter",end="")            number = int(input("----->"))            for i in number:                c_n = int(input("Name -->"))                t_n = int(input("Number-->"))                contact_name.append(c_n)                telephone.append(t_n)            else:                print("Contacts are Saved!??")        except SyntaxError:            main_menu()
查看完整描述

5 回答

?
交互式愛(ài)情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

正如前面的答案所指出的,您沒(méi)有將函數(shù)的返回值保存main_menu()在任何地方。但是您的代碼中還存在一些其他錯(cuò)誤,因此讓我們首先解決這些錯(cuò)誤。


您需要先定義函數(shù),然后才能使用它。您似乎試圖add_number同時(shí)調(diào)用該函數(shù)并定義它。首先定義你的函數(shù),然后像這樣調(diào)用它:

# Define the add_number() function

def add_number():

    clean()

    ...


if main == 1:

    # call the add_number() function

    add_number()

    

您正在嘗試迭代一個(gè)數(shù)字,這將引發(fā)錯(cuò)誤。您可以嘗試使用range該函數(shù)來(lái)代替。

number = int(input("----->"))

for i in range(number): # using range function

   ...

您正在嘗試將名稱轉(zhuǎn)換為 int,但我假設(shè)您可能希望它是一個(gè)字符串。

# this will throw an ValueError if you type a name like "John"

c_n = int(input("Name-->")) 


# This will not throw an error because you are not converting a string into an int

c_n = input("Name-->")

您的 try 塊正在捕獲SyntaxErrors,但您可能想要捕獲ValueErrors。語(yǔ)法錯(cuò)誤是代碼語(yǔ)法中的錯(cuò)誤,例如忘記了 a:或其他內(nèi)容。而值錯(cuò)誤是當(dāng)某些日期的值錯(cuò)誤時(shí)產(chǎn)生的錯(cuò)誤,例如當(dāng)您嘗試將字符串轉(zhuǎn)換為 int 時(shí)。

# replace SyntaxError with ValueError

except ValueError:

    print("Oops something went wrong!")

最后,如果您想在輸入聯(lián)系號(hào)碼后返回菜單,則需要某種循環(huán)。

while(True):

    # here we are saving the return value main_menu() function

    choice = main_menu()

    if choice == 1:

        add_number()


    # add other options here


    else:

      print("Sorry that option is not available")

此循環(huán)將顯示 main_menu 并詢問(wèn)用戶一個(gè)選項(xiàng)。然后,如果用戶選擇 1,它將運(yùn)行該add_number()函數(shù)。一旦該功能完成,循環(huán)將重新開(kāi)始并顯示菜單。


總而言之,看起來(lái)像這樣:


import pandas as pd

#list for containing telephone number

telephone = []

#list containing contact name

contact_name = []


def main_menu():

    intro = """ ----------------------WElCOME to MyPhone-----------------------

    To select the task please type the number corrosponding to it

    1)Add New Number

    2)Remove Contact

    3)Access old contact

    ----> """

    main = int(input(intro))

    return main


def clean():

    print("--------------------------------------------------------------------------------------")


def add_number():

    clean()

    try:

        print("How many number(s) you want to add. Remember if you don't want to add any number just click enter",end="")

        number = int(input("----->"))

        for i in range(number):

            c_n = input("Name-->")

            t_n = int(input("Number-->"))

            contact_name.append(c_n)

            telephone.append(t_n)

        else:

            print("Contacts are Saved!??")

    except ValueError:

        print("Oops something went wrong!")


while(True):

    choice = main_menu()

    if choice == 1:

        add_number()

    # add other options here


    # catch any other options input

    else:

      print("Sorry that option is not available")


查看完整回答
反對(duì) 回復(fù) 2023-09-12
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

變量main僅在函數(shù)內(nèi)有效main_menu。您需要將 的結(jié)果分配main_menu()給某些東西才能使用它。

main = main_menu()
if main == 1:
    ...


查看完整回答
反對(duì) 回復(fù) 2023-09-12
?
開(kāi)心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

當(dāng)您調(diào)用該函數(shù)時(shí),您需要將結(jié)果放入變量中(或以其他方式使用它)。

例如:

selection = main_menu()

函數(shù)內(nèi)部定義的變量在函數(shù)結(jié)束后消失;該return語(yǔ)句僅返回值,而不是整個(gè)變量。


查看完整回答
反對(duì) 回復(fù) 2023-09-12
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

當(dāng)您調(diào)用該函數(shù)時(shí),它會(huì)返回 main,但是,必須將其分配給某個(gè)對(duì)象才能使用它執(zhí)行某些操作。僅調(diào)用該函數(shù)不會(huì)創(chuàng)建變量 main。這是因?yàn)楹瘮?shù)的范圍。

main = main_menu()


查看完整回答
反對(duì) 回復(fù) 2023-09-12
?
尚方寶劍之說(shuō)

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

你的代碼中有很多錯(cuò)誤。def = 只聲明函數(shù)但不調(diào)用它。

首先,如前所述,您在調(diào)用 main_menu() 時(shí)需要執(zhí)行以下操作:

main = main_menu()

其次,在 if 中您應(yīng)該調(diào)用 adD_number 函數(shù):

if main ==1:
    add_number()

但請(qǐng)確保在調(diào)用之前聲明 add_number() (使用 def)。

祝你好運(yùn)!


查看完整回答
反對(duì) 回復(fù) 2023-09-12
  • 5 回答
  • 0 關(guān)注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)