python 筆記12
1.格式化輸出
判斷下面這個程序是否正確?
那么占位符在python中怎么使用呢抓狭?
占位符 %s
關(guān)聯(lián)內(nèi)容 %(name,age,job,salary)
( p.s.: %s即是 string 的縮寫伯病。)
具體如下圖:
如果要輸入一段退休年齡呢?
這樣可以嗎否过?
程序出錯了午笛,因?yàn)椤皽p號不支持整數(shù)和字符串之間的運(yùn)算!”
所以得出結(jié)論苗桂,減號可以放在這個地方药磺,但是需要將字符串轉(zhuǎn)化成整數(shù)。
方法:加入int()
成功煤伟!
2.加入if語句判斷“像不像數(shù)字”
2.1提問01癌佩?
如果salary中輸入了漢子“五千”而不是整數(shù)“5000”,那么輸出結(jié)果會怎么樣呢便锨?
回答:
如果是以下情況:
salary = print(“Slary :”)
那么輸入"5000"和"五千"都可以運(yùn)行围辙。
而如果是以下情況:
salary = int(print("Salary is :"))
那么輸入“五千”,則會出現(xiàn)語法錯誤放案。
能改進(jìn)這個問題嗎姚建?
可以,使用if語句吱殉。
判斷輸入的是否長得像數(shù)字掸冤。
代碼如下:
if salary.isdight(): #如果長得像數(shù)字,比如200d考婴,‘200’
salary = int(salary) #把做自己變成數(shù)字
else:
print("must input dight") #如果不像就提示“必須輸入數(shù)字”
如果想要打得不像數(shù)字就不要再打印后面的表格了贩虾,怎么實(shí)現(xiàn)呢催烘?
只要在后面加exit() 即可沥阱。
比如:
if salary.isdight():
salary = int(salary)
else:
print("must input digit")
exit()
或者exit()可以直接加入提示語。那么前面的print就多余了伊群。
if salary.isdigit():
salary = int(salary)
else:
exit("must input digit")
2.2 提問02考杉?
如果工資salary的輸入只能要求是 數(shù)字策精,如果輸入其他比如漢字“五千元”就報錯,怎么實(shí)現(xiàn)崇棠?
答案
前面說 %s = string ,同理咽袜,
%d = digit 就是數(shù)字占位符,只能輸入數(shù)字枕稀!
2.2.3 其他常用占位符
%f = flout 浮點(diǎn)數(shù)询刹,約等于小數(shù)(大多數(shù)情況下)。