python 核心编程第5章(习题)
1.標(biāo)準(zhǔn)類型運(yùn)算符. 寫一段腳本,輸入一個(gè)測驗(yàn)成績,根據(jù)下面的標(biāo)準(zhǔn),輸出他的評分成績(A-F)。
#coding:utf8 a = raw_input() a = int(a) if (a > 100) or (a < 0):print "輸入錯(cuò)誤,請輸入0~100的數(shù)字" elif(a >=90):print "A" elif(a>=80):print "B" elif(a >= 70):print "C" elif(a >=60):print "D" else:print "F"2.寫一個(gè)函數(shù),計(jì)算并返回兩個(gè)數(shù)的乘積
def evil(a,b): return a * bx = raw_input("Please input first number:") y = raw_input("Please input second number:") x = int(x) y = int(y) print 'a * b = ',evil(x,y)3.?判斷給定年份是否是閏年
#coding:utf8 ‘’‘ 一個(gè)閏年就是指它可以被4 整除,但不能被100 整除, 或者它既可以被4 又可以被100 整 除 ’‘’ a = raw_input() a = int(a) if (a % 4 == 0) and (a % 100 != 0):print "潤年" elif (a % 4 ==0) and (a % 100 == 0):print "潤年" else:print "不算潤年"4.取一個(gè)任意小于1 美元的金額,然后計(jì)算可以換成最少多少枚硬幣。硬幣有1美分,5 美分,10 美分,25 美分四種。1 美元等于100 美分。舉例來說,0.76 美元換算結(jié)果應(yīng)該是 3 枚25 美分,1 枚1 美分。類似76 枚1 美分,2 枚25 美分+2 枚10 美分+1 枚5 美分+1枚1 美分這樣的結(jié)果都是不符合要求的。
#coding:utf8 money = raw_input('請輸入任意小于1美元的金額') print money,'美元換算結(jié)果' money = float(money) money *= 100 money = int(money) cent25 = money / 25 money %= 25 #取余 cent10 = money /10 money %= 10 #取余 cent5 = money / 5 money %= 5 #取余 cent1 =money / 1 if cent25:print '25美分*',cent25 if cent10:print '10美分*',cent10 if cent5:print '5美分*',cent5 if cent1:print '1美分*',6 .寫一個(gè)計(jì)算器程序 你的代碼可以接受這樣的表達(dá)式,兩個(gè)操作數(shù)加一個(gè)運(yùn)算符:N1 運(yùn)算符 N2. 其中 N1 和 N2 為整數(shù)或浮點(diǎn)數(shù),運(yùn)算符可以是+, -, *, /, %, ** 分別表示加法,減法, 乘法, 整數(shù)除,取余和冪運(yùn)算。計(jì)算這個(gè)表達(dá)式的結(jié)果,然后顯示出來。提示:可以使用字符串方法 split(),但不可以使用內(nèi)建函數(shù) eval().
#coding:utf8 """簡單計(jì)算器程序,還有些Bug ……""" def new_evil(strEvil):num = strEvil.split(" ")if num[1] == "+":return float(num[0]) + float(num[2])elif num[1] == "-":return float(num[0]) - float(num[2])elif num[1] == "*":return float(num[0]) * float(num[2])elif num[1] == "/":return float(num[0]) / float(num[2])elif num[1] == "%":return float(num[0]) % float(num[2])elif num[1] == "**":return float(num[0]) ** float(num[2])else:return "error operator"if __name__ == "__main__":while True:strEvil = raw_input("Please enter the eval(q to quit):")if strEvil.lower() =="q":breakprint "the result is : %d" % (new_evil(strEvil))7.(a) 為什么下面的例子里 17+32 等于 49, 而 017+32 等于 47, 017+032 等于 41??
>>> 17 + 32 49>>> 017+ 32 47 >>> 017 + 032 41因?yàn)樗麄冞M(jìn)制不一樣,17+31,兩者都是10進(jìn)制,017 + 32,017是八進(jìn)制15,017+032(八進(jìn)制26),兩者都是八進(jìn)制
(b)為什么下面這個(gè)表達(dá)式我們得到的結(jié)果是 134L 而不是 1342 ?
>>> 56l + 78l 134L因?yàn)樗麄兊臄?shù)據(jù)類型是長整型
?8.寫一對函數(shù)來進(jìn)行華氏度到攝氏度的轉(zhuǎn)換。轉(zhuǎn)換公式為C = (F - 32) * (5 / 9)應(yīng)該在這個(gè)練習(xí)中使用真正的除法, 否則你會得到不正確的結(jié)果。
#coding:utf8a = raw_input('place enter the temperature:') y = (float(a) - 32) * (5.0 / 9.0) print y
轉(zhuǎn)載于:https://www.cnblogs.com/evilxr/p/3851316.html
總結(jié)
以上是生活随笔為你收集整理的python 核心编程第5章(习题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fzu 1894 单调队列
- 下一篇: 扫雷游戏制作学习过程