python练习题(一)
1、列表转换为字典。
`s=[1,2]
b=['a','b']
print (dict([s,b]))`
2、#题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and i!=k:
print(i,j,k)
3、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
s=int(input('请输入利润'))
if s<=100000:
result=s*0.1
print('本月奖金为{}'.format(result))
elif s>100000 and s<=200000:
result=(s-100000)*0.075+100000*0.1
print('本月奖金为{}'.format(result))
elif s>200000 and s<=400000:
result=(s-200000)*0.05+200000*0.075
print('本月奖金为{}'.format(result))
elif s>400000 and s<=600000:
result=(s-400000)*0.03+400000*0.5
print('本月奖金为{}'.format(result))
elif s>600000 and s<=1000000:
result=(s-600000.*0.015)+600000*0.3
print('本月奖金为{}'.format(result))
elif s>1000000:
result=(s-1000000)*0.01+1000000*0.015
print('本月奖金为{}'.format(result))
4、# 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#整数
i+100=xx
i+100+168=xx
from math import sqrt
for i in range(-100,10000):
x=int(sqrt(i+100)) #因为是完全平方,所以是整数,如果不加int数据会很多
y=int(sqrt(i+268))
if (x*x==i+100) and (y*y==i+268):
print(i)
i = i + 1
5、输入三个整数x,y,z,请把这三个数由小到大输出。
l=[]
for i in range(1,4):
num=input('请输入第%d个整数:'%(i))
l.append(num)
print(sorted(l))
6、题目:斐波那契数列。
程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
L=[]#定义一个存储结果的列表
for i in range(100):
if i==0 or i==1:
L.append(1)
else:
L.append(L[i-2]+L[i-1])
i+=1
print(L)
6、将一个列表的数据复制到另一个列表中。
L=[1,2,3,4,5]
s=L[:]
print(s)
7、输出 9*9 乘法口诀表。
for i in range(1,10):
for j in range(1,i+1):
print('{} * {} = {}\t'.format(i,j,i*j),end='')
i+=1
print('\n')
8、暂停一秒输出。
import time
print(time.ctime())
time.sleep(1)
print(time.ctime())
9、暂停一秒输出,并格式化当前时间。
#time.strftime(format[, t])格式化当前时间
import time
print(time.asctime())
print(time.ctime())
time.sleep(1)
print(time.strftime('%Y-%m-%d %H:%M:%S'),time.asctime()) #对比当前时间python2.0
print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()),time.ctime())#python3.0
10、输入某年某月某日,判断这一天是这一年的第几天?
能整除4且不能整除100 2、能整除400
# 输入某年某月某日,判断这一天是这一年的第几天?
#思路:1 3 5 6 8 10 12 (31天的) 4 7 9 11 (30天的) 2月平年28,闰年29
year=int(input('请输入年份'))
month=int(input('请输入月份'))
day=int(input('请输入日'))
L=[31,59,90,120,151,182,212,243,273,304,334,365]#平年对应的月份天数
if month==1:
count=day
elif (year%4==0 and year%100!=0) or (year%400==0):
if month>1 and month<13:
count=L[month-2]+day+1#因为闰年2月份是29天所以需要+1
else:
if month>1 and month<13:
count=L[month-2]+day
print('第%d'%(count))