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

為了賬號安全,請及時綁定郵箱和手機立即綁定

請教,關于python中在編寫函數時,return和print退格位置不同結果不同的狀況

狀況1:

def?last():
????a=0
????while?a<100:
????????a=a+1
????print?a
print?last()

輸出結果是:

100?

None

def?last():
????a=0
????while?a<100:
????????a=a+1
????????print?a
print?last()

輸出結果是1~~100外加一個None

狀況2:

def?fun():
????a=0
????sum=0
????while?a<10:
????????sum=sum+a*a
????????a=a+1
????return?sum
print?fun()

輸出結果是 285

def?fun():
????a=0
????sum=0
????while?a<10:
????????sum=sum+a*a
????????a=a+1
????????return?sum
print?fun()

輸出結果是:0

我想請教的問題:1、print和return位置不同分別代表什么意思?2、為什么最后結果中都會出現None?3、return狀況下,第二個為什么輸出值會是0


正在回答

1 回答

首先要弄清楚這兩個詞的含義,print是輸出控制臺的意思,就是打印出來給我們看一下;return是返回值,就是把return后面的參數的值賦予函數的返回值;

1、位置看你上面對齊的命令,第一個print對齊的是while循環,說明要等整個循環完再print,而第二個對準的是a=a+1,說明與這個評級,a賦完值后就要print,所以print先打印了1-100,return也是同理啊。

2、因為沒有return,函數沒有返回值;你打印出來也沒有用啊,函數必須要有返回值了才能打印出來,所以都是none。課程上都說了的“如果沒有return語句,函數執行完畢后也會返回結果,只是結果為 None。

3、還是跟對齊的解釋一樣,你對齊的是sum=sum+a*a和a=a+1。第一個循環就return了,sum上面的結果就是0啊,課程上也說了“函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。

我覺得我解釋的很細了吧,希望你能理解~

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758390    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

請教,關于python中在編寫函數時,return和print退格位置不同結果不同的狀況

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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