亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在python中調用用戶定義函數中聲明的變量

如何在python中調用用戶定義函數中聲明的變量

喵喔喔 2023-10-18 15:47:28
每當我在 python 中使用變量定義任何函數時,我都無法調用或打印函數中聲明的變量的值,因此無法在后續代碼行中使用該變量。如果我能知道我使用它的錯誤在哪里,那將非常有幫助。例如,創建 500 個數字的列表的以下代碼行:它給出錯誤:NameError: name 'r1' is not Defineddef createlist(r1):    for n in range(1,500):        return np.arange(r1, r1+n, 1)    r1 = 1    print(createlist(r1))
查看完整描述

3 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

該代碼將無法滿足您的要求。


相反,請嘗試此代碼。


import numpy as np

def createlist(r1):

    for n in range(1,500):

        print(np.arange(r1, r1+n, 1))

r1 = 1

#print(createlist(r1))

createlist(r1)


查看完整回答
反對 回復 2023-10-18
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

問題是因為縮進。


您在您的函數中聲明r1。它會給你錯誤,因為print(createlist(r1))看不到r1. 所以解決方案是:


import numpy as np

def createlist(r1):

    for n in range(1,500):

        return np.arange(r1, r1+n, 1)

r1 = 1

print(createlist(r1))

希望對你有幫助 <3


查看完整回答
反對 回復 2023-10-18
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

我認為你想要正確縮進你的代碼并且你想要返回每次迭代的結果,你可以嘗試這個


import numpy as np



def createlist(r1):

    op = []

    for n in range(1, 500):

        op.append(list(np.arange(r1, r1 + n, 1)))   # op is storing the list generated in each iteration

    return op   # now you can return op, a list which contains results from the loop



r1 = 1

print(createlist(r1))

ps 請對您想要執行的操作進行更多說明。


查看完整回答
反對 回復 2023-10-18
  • 3 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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