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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用子程序時“未定義”

使用子程序時“未定義”

阿晨1998 2021-10-10 18:58:55
我試圖在“show():”中的“create():”下調用“name”,但它說它沒有定義。如何將我的輸入保存在“create():”中,以便我可以在其他子例程中使用它(在本例中,在“show():”中)。謝謝我試圖在選擇部分之后詢問用戶輸入,但沒有解決。我不斷收到同樣的錯誤。import sysclass data:    name = ""    average = ""def menu():    print("1) Data input")    print("2) Print data")    print("3) Give file name")    print("4) Save")    print("5) Read file")    print("0) Stop")    choice = int(input("Give your choice: "))    print()    return choicedef save(datalist, namea):    f = open(namea, "w")    for data in datalist:        row = str("{};{}").format(data.name, data.average)        f.write(row)        f.write("\n")    f.close()def read(datalist, namea):    f = open(namea, "r")    for row in f:        row = row.split(";")        dataa = data()        dataa.name = str(row[0])        dataa.average = float(row[1])        datalist.append(dataa)    return datalistdef printt(datalist):    for data in datalist:        print(data.name, data.average)def name():    namea = str(input("Give a name: "))    return nameadef inputt(datalist):    dataa = data()    dataa.name = str(input("Give a name: "))    dataa.average = float(input("Give the average (float): "))    datalist.append(dataa)    print()    return(datalist)def main():    try:        datalist = []        while True:            choice = menu()            if (choice == 1):                datalist = inputt(datalist)            elif (choice == 2):                printt(datalist)            elif (choice == 3):                namea = name()            elif (choice == 4):                save(datalist, namea)            elif (choice == 5):                datalist = read(datalist, namea)            elif (choice == 0):                print("The program was closed {} at {}".format(datetime.datetime.now().strftime('%d.%m.%Y'), datetime.datetime.now().strftime('%H:%M:%S')))                return False    except Exception:        sys.exit(0)main()當我調用 2) 時,我希望它打印我在 1) 中輸入的名稱。例如: 選擇 1) 1) 給出姓名:丹尼爾 選擇 2) 2) 印刷品:你好丹尼爾
查看完整描述

2 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

您必須讓 show() 在其中包含一個參數。例如:


def show(n):

    print(n)

因此,當您調用 show(n) 時,它會將您包含的任何內容打印為 n。


所以如果你打電話給 show(name)。它會打印出名稱。


def show(n):

    print(n)


show(name) #This would print out name.

除非您返回一個值,否則您也不需要return。Return 不會使代碼返回,它只會使函數返回一個值。所以你確實需要返回 list() 和 create(),但不需要返回 show(n)。


編輯 您還希望在調用 create 時將用戶輸入設置為變量。


def main():

    print("Choose from the following list:")

    while True:

        choice = lista()

        if (choice == 0):

           print("Thanks for using the program!")

           break

        elif (choice == 1):

            name = create() #Here is where you should change it


        elif (choice == 2):

            show(name)


        else:

            print("Input not detected.\nStopping.")

            break


查看完整回答
反對 回復 2021-10-10
  • 2 回答
  • 0 關注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號