题目地址
第1题
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
'''分析:三位数,每一位用一个循环,如果有重复的直接pass'''
m=0
for i in range(1,5):
#print(i)
for j in range(1,5):
for k in range(1,5):
if i!=j and i!= k and j!= k:
m=m+1
n=int(i)*100+int(j)*10+int(k)
print(m,' ',n)
第2题
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
n=int(input('请输入销售额(万元):'))
m=0
if n<=10:
m=n*0.1
elif n>10 and n <=20:
m=(m-10)*0.075+10*0.1
elif n>20 and n <=40:
m=(m-20)*0.05+10*0.1+10*0.075
elif n>40 and n<=60:
m=(m-40)*0.03+10*0.1+10*0.075+20*0.05
elif n>60 and n<100:
m=(m-60)*0.015+10*0.1+10*0.075+20*0.05+20*0.03
else:
m=(m-100)*0.01+10*0.1+10*0.075+20*0.05+20*0.03+40*0.015
print('一共有%.2f万的奖金'%(m))
第3题
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
def aaaa():
import math as a
for i in range(150000):
m=a.sqrt(i+100)
p=a.sqrt(i+168+100)
if m//1*1==m and p//1*1==p:
yield i
for i in aaaa():
print(i)
第4题
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天
,特殊情况,闰年且输入月份大于2时需考虑多加一天
a,b,c=(input('plz input date(2018.1.21):').split('.'))
print(a,b,c)
def mm(a,b,c):
year=a
month=b
day=c
k=[0,31,60,91,121,152,182,213,244,274,305,335,366]
k1=[0,31,59,90,120,151,181,212,243,273,304,334,365]
if ((year%4==0)and (year%100!=0) )or(year%400==0):
aaaa=k[month-1]+day
else:
aaaa=k1[month-1]+day
return aaaa
print('这是第%d天'%(mm(int(a),int(b),int(c))) )
第5题
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
def max_min(a,b,c):
import math
m=min(a,b,c)
if a==m:
pass
elif b==m:
a,b=b,a
elif c==m:
a,c=c,a
if b>c:
b,c=c,b
else:
pass
print(a,b,c)
if __name__ == '__main__' :
a,b,c=(input('plz input date(1 2 3):').split(' '))
max_min(int(a),int(b),int(c))
第6题
题目:斐波那契数列。
程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ F2”>n-2
def fib(n):
a=1
b=1
for i in range(n-1):
a,b = b,a+b
yield a
if __name__=='__main__':
for m in fib(int(input('plz input:'))):
print(m)
第7题
题目:将一个列表的数据复制到另一个列表中。
程序分析:使用列表[:]。
a=[1,2,3,4,5,6]
b=a
print(b)
第8题
题目:输出 9*9 乘法口诀表。
程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for i in range(10):
for j in range(1,i+1):
print('%d*%d=%2d'%(i,j,i*j),end=' ')
print(' ')
第9题
题目:暂停一秒输出。
程序分析:使用 time 模块的 sleep() 函数。
import time as a
a.sleep(5)
print('5')
a.sleep(5)
print('10')
第10题
题目:暂停一秒输出,并格式化当前时间。
程序分析:
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
import time
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print(time.localtime())
time.sleep(5)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
time.sleep(5)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))