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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

請教@清波大神。小弟的代碼得不到預(yù)期的運(yùn)行結(jié)果,麻煩您看一下。

num = raw_input('input number:')

def my_abs(num):

? ? if num >= 0:

? ? ? ? return num

? ? else:

? ? ? ? return -num


正在回答

3 回答

早飯吃完了,來回答題主問題,直接貼可以運(yùn)行的代碼:

def?my_abs(a):
????if?a>=?0:
????????return?a
????else:
????????return?-a
????????
num?=?raw_input('input?number:')

print?my_abs(num)

##?解釋,首先定義函數(shù),然后取得用戶輸入,最后調(diào)用函數(shù)并打印
##?我看題主代碼,姑且認(rèn)為?題主沒有調(diào)用函數(shù),只是取得?num?變量,?就想在函數(shù)定義的時(shí)候(def?xxx)獲得
##?結(jié)果,?這是不可以的,?函數(shù)定義是不會被調(diào)用的,如果想調(diào)用?就需要?在定義之后?這樣調(diào)用:
function_name?(args)---?函數(shù)名(參數(shù))?
##?參數(shù)可選,如果定義是沒有參數(shù),或者使用了關(guān)鍵字參數(shù)(關(guān)于函數(shù)參數(shù)此處不詳解了)的話,可以不傳參數(shù)
##?如題主定義的函數(shù),調(diào)用方法就是?my_abs(num)

##?另外我在定義函數(shù)時(shí),可以改變了?形式參數(shù)?的命名,?就是想告訴題主,?定義是使用的參數(shù)?叫做形式參數(shù)
##?不一定要跟調(diào)用的時(shí)候一樣,?就像它的名字,只是一個(gè)形式而已。

最后說題主定義和調(diào)用這個(gè) 絕對值函數(shù) 有些不嚴(yán)謹(jǐn),并不能取得正確的結(jié)果。


?因?yàn)?通過 raw_input 我們獲得的num 其實(shí)是一個(gè)字符串. 然后傳給 my_abs(num) , 不管我們輸入的是正數(shù) ?'11' , 還是負(fù)數(shù)'-11' 本質(zhì)上都是一個(gè)非空字符串。


Python 雖然是一個(gè)強(qiáng)類型語言(不同類型之間做運(yùn)算,程序會報(bào)錯(cuò),而不會對其中之一做隱式的轉(zhuǎn)換。) 但是 其他類型 放到 判斷語句的 條件表達(dá)式 位置的時(shí)候(if xxx: ? ?xxx 就是條件表達(dá)式, 或者 while xxx 同理)會做隱式轉(zhuǎn)換 ,就字符串來說 非空字符串都是 True 也就是說不管我們 傳入 '11'還是'-11' if都成立,同時(shí)函數(shù)會返回 字符串本身。 這時(shí)候函數(shù) 恰好表現(xiàn)為, 輸入正數(shù),返回結(jié)果看起來正確(因?yàn)槭亲址?輸入負(fù)數(shù) 返回的看起來還是負(fù)數(shù)(字符串),如果想改進(jìn)可以 調(diào)整下輸入語句:

num?=?float(raw_input('input?number:'))

或者分開寫,邏輯清晰些:
num?=?raw_input('input?number:')
num=?float(num)

至此,其實(shí)還是有些小問題:

第一, Python2.x 中 float 的位數(shù)太少,有限制。

第二,如果用戶輸入的不是數(shù)字,而是字符或者其他的什么,怎么辦。 這里說一個(gè)后端開發(fā)常說的一句話,永遠(yuǎn)不要相信前端傳回來的任何數(shù)據(jù), 同樣套在這里就是: 永遠(yuǎn)不要相信用戶的輸入。


恩,到這兒吧,兩個(gè)問題 留給題主把玩

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

夏天的夏7 提問者

謝謝啦~ o(∩_∩)o 哈哈
2016-04-20 回復(fù) 有任何疑惑可以回復(fù)我~

。。。 嚇得我趕緊進(jìn)來瞅瞅,被直接點(diǎn)名了,大神不敢當(dāng), mark 明天回答

0 回復(fù) 有任何疑惑可以回復(fù)我~

-num是什么鬼?改成0-num?

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
初識Python
  • 參與學(xué)習(xí)       758365    人
  • 解答問題       8967    個(gè)

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

進(jìn)入課程

請教@清波大神。小弟的代碼得不到預(yù)期的運(yùn)行結(jié)果,麻煩您看一下。

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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