python核心编程-第五章-习题

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1.长整型表示数的范围比整型更大。在python中,整型、长整型趋于统一,普通用户不用特别关注两者区别,仅当需引用C语言时需要特别注意。

2.操作符

(a)

defPRoduct(x,y):returnx * y

(b)

>>>printproduct(23,24)552

3.

defresult(x):if90 <= x <= 100:return"A"elif80 <= x <= 89:return"B"elif70 <= x <= 79:return"C"elif60 <= x <= 69:return"D"else:return"F"

4.

#-*- coding:utf-8 -*-defyear_judge(year):if(int(year) % 4 == 0andint(year) % 100 != 0)orint(year) % 400 ==0:returnu"该年是闰年!"else:returnu"该年是平年!"

5.

#-*- coding:utf-8 -*-defexchange(x):

divide_25,mod_25= divmod(x,25)[0],divmod(x,25)[1]ifmod_25 ==0:returnu"%d 美分换算结果是:%d枚25美分。"\%(x,divide_25)else:

divide_10,mod_10= divmod(mod_25,10)[0],divmod(mod_25,10)[1]ifmod_10 ==0:returnu"%d美分换算结果是:%d枚25美分,%d枚10美分。"\%(x,divide_25,divide_10)else:

divide_5,mod_5= divmod(mod_10,5)[0],divmod(mod_10,5)[1]ifmod_5 ==0:returnu"%d美分换算结果是:%d枚25美分,%d枚10美分,%d枚5美分。"\%(x,divide_25,divide_10,divide_5)else:returnu"%d美分换算结果是:%d枚25美分,%d枚10美分,%d枚5美分,%d枚1美分。"\%(x,divide_25,divide_10,divide_5,mod_5)defcents_exchange(x):ifx < 1:

x= x * 100else:

x=int(x)printexchange(x)

6.

#-*- coding:utf-8 -*-defcalculator():globalexpression

expression= raw_input("请输入一个表达式,可以计算加减乘除取余和幂运算,按Q退出。".decode("utf-8").encode("gbk"))ifexpression =="Q":returnu"程序退出,再见"else:foriin["+","-","**","/","%","*"]:ifiinexpression:

numbers=expression.split(i)if"."inexpression:

N1=float(numbers[0])

N2= float(numbers[1])else:

N1=int(numbers[0])

N2= int(numbers[1])ifi =="+":returnN1 +N2elifi =="-":returnN1 -N2elifi =="*":returnN1 *N2elifi =="**":returnN1 **N2elifi =="%":returnN1 %N2elifi =="/":returnN1 /N2whileTrue:printcalculator()ifexpression =="Q":

break

7.

#-*- coding:utf-8 -*-sales = float(raw_input("请输入营业额".decode("utf-8").encode("gbk")))

rate= float(raw_input("请输入税率,以两位小数表示".decode("utf-8").encode("gbk")))printu"应缴税额为:%f 元人民币。"% (sales * rate)

8.

#-*- coding:utf-8 -*-defgeometry():

prompt= raw_input("计算正方形面积请输入1,立方体体积请输入2,圆面积请输入3,球体积请输入4".\

decode("utf-8").encode("gbk"))ifprompt =="1":

side= raw_input("请输入边长".decode("utf-8").encode("gbk"))printu"该正方形的面积是:%d"% (int(side) ** 2)elifprompt =="2":

side= raw_input("请输入边长".decode("utf-8").encode("gbk"))printu"该正方体的体积是:%d"% (int(side) ** 3)elifprompt =="3":

radius= raw_input("请输入半径".decode("utf-8").encode("gbk"))printu"该圆的面积是:%s"% (float(radius) ** 2 * 3.14)elifprompt =="4":

radius= raw_input("请输入半径".decode("utf-8").encode("gbk"))printu"该球的体积是:%s"% (float(radius) ** 3 * 4 * 3.14 / 3)

geometry()

9.

a.进制问题 python中0开头的数字表示八进制的数字

b.56l + 78l 代表的是长整数的和

10.

#-*- coding:utf-8 -*-defF_to_C(F):printu"%s℉等于%f℃"% (F,(float(F) - 32) * 5 / 9)

11.(1)

#取偶数foriinrange(0,21):ifi % 2 ==0:printi,print#取奇数foriinrange(0,21):ifi % 2 == 1:printi,

(2)对2进行取余运算,余数0是偶数,否则是奇数

(3)

#-*- coding:utf-8 -*-defjudge_divide(x,y):ifx % y ==0:printu"%d可以被%d整除!"%(x,y)else:printu"%d不能被%d整除!"%(x,y)defjudge():

number1= int(raw_input("请输入第一个整数".decode("utf-8").encode("gbk")))

number2= int(raw_input("请输入第二个整数".decode("utf-8").encode("gbk")))ifnumber1 <number2:

judge_divide(number2,number1)else:

judge_divide(number1,number2)

12.

#-*- coding:utf-8 -*-importsysprintsys.maxintprint-sys.maxint - 1printsys.float_info.maxprintsys.float_info.minprintsys.long_info

13.

#-*- coding:utf-8 -*-time = raw_input("请输入时间,英文冒号:前为小时数,英文冒号:后为分钟数".decode("utf-8").encode("gbk"))

hour= int(time.split(":")[0])

minute= int(time.split(":")[1])printu"%d:%d等于%d分钟。"% (hour,minute,hour * 60 + minute)

14.

#-*- coding:utf-8 -*-defAnnual_return_rate(rate):

per_day_rate= rate / 365.0investment= 1interest= 1 * (1 + per_day_rate) ** 365 - 1printu"年回报率为:",interest * 100,"%"Annual_return_rate(0.5)

15.

#-*- coding:utf-8 -*-defgreatest_common_divisor(x,y):

divisor=max(x,y)whiledivisor >= 1:ifx % divisor != 0ory % divisor !=0:

divisor-= 1else:printu"%d和%d的最大公约数是%d。"%(x,y,divisor)

breakdefleast_common_multiple(x,y):

multiple=max(x,y)whilemultiple <= x *y:ifmultiple % x == 0andmultiple % y ==0:printu"%d和%d的最小公倍数是%d。"%(x,y,multiple)

breakelse:

multiple+= 1

16.略

17.

#-*- coding:utf-8 -*-importrandom

N= random.randint(2,100)

i= 1random_list1=[]whilei <=N:

random_list1.append(random.randint(0,2 ** 31 - 1))

i+= 1h= 1N2= random.randint(1,100)

random_list2=[]whileh <=N2:

random_list2.append(random.choice(random_list1))

h+= 1printsorted(random_list2)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航