Python习题

来源:互联网 发布:服务器定时开关机软件 编辑:程序博客网 时间:2024/06/18 18:50

1、用户输入一个年份,判断这一年是不是闰年,如果是,打印 xxx年是闰年,如果不是,打印xxx年不是闰年
一:能被4整除,但不能被100整除的年份(例如2008是闰年,1900不是闰年)
或者
二:能被400整除的年份(例如2000年)也是闰年。

y = input('请输入年份:')if type(y).__name__ != 'int':#判断年份输入是不是整数    print '年份输入不合法'else:    if y%4 == 0 and y%100 != 0:        print '%s 是闰年'%y    elif y%400==0:        print '%s 是闰年'%y    else:        print '%s 不是闰年'%y

2、打印乘法表
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

#乘法表中每行表达式的数量=行数,被乘数=每行行号for i in range(1,10):  #控制行数    for j in range(1,i+1):  #控制每行打印几个表达式        print str(j)+"x"+str(i)+"="+str(i*j)+'\t', #'\t'是空格,","是下打印内容在一行内    print '\n' #结束换行

3、打印1-1000中的所有素数
素数,除了1和它本身以外不再有其他因数的数称为素数。

#先定义一个列表盛放结果primeList = []for i in range(1,1001):    for j in range(2,i):    #j遍历了2到i的所有整数        if i%j==0            break    else:    #循环到最后仍然没有break,则该数是素数,添加到列表中        primeList.append(i)print primeList

4、求100-999中的水仙花数
若三位数abc,abc=a^3+b^3+c^3, 则称abc为水仙花数。如153,1^3+5^3+3^3=1+125+27=153,则153是水仙花数

wList=[]for a in range(1,10):    for b in range(0,10):        for c in range(0,10):            abc = (a*100)+(b*10)+c            num = pow(a, 3) + pow(b, 3) + pow(c, 3)            if abc == num:                wList.append(abc)print wListprint wList.append(abc),#[153, 370, 371, 407]
for number in range(100,1000):    a = number//100  #取整余数    b =(number-a*100)//10    c =number-a*100-b*10    if a**3 + b**3 + c**3 == number:        print '%s 是水仙花数'%number        print number,'是水仙花数.'

5、某公司的市内通话计费标准为:
三分钟内 0.2元
三分钟后每增加一分钟增加0.2元,不足一分钟按照一分钟算
要求编写程序,给定一个通话时间(单位:s),计算出收费金额

import mathdef telfare(telTime):    time = math.ceil(float(telTime)/60)  #math.ceil向上取整,只适用浮点类型数    if time <= 3:        fare = 0.2    else:        fare = 0.2+(time-3)*0.2    return fareprint  telfare(250)

6、某市的出租车计费标准为:
3公里内10元,3公里以后每增加0.5公里加收1元,每等待2分钟加收1元
超过15公里加收原价50%的空驶费
每个写成一个函数
要求编写程序,对于任意给定的里程数(单位:km)和等待时间(单位:s)计算出应付车费
参数:公里数km,时长time,费用cost,
空驶费emptyrun;

import mathdef taxiCost(km,time):    km=float(km)    mins=math.ceil(float(time/60))    if km<=3.0:        cost=10+math.ceil(mins/2.0)    elif km>15:        cost=(10+math.ceil(mins/2.0)+(km-3.0))*1.5    elif km>3 and km<=15:        cost=10+math.ceil(mins/2.0)+(km-3.0)    return costprint taxiCost(16,180)
0 0
原创粉丝点击