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=x
x

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))

posted @ 2018-12-18 11:19  hopelv  阅读(357)  评论(0编辑  收藏  举报