1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
number = (1 ,2,3,4)
count=0for i in number:#for i in range(1,5)
for j innumber:for k innumber:if i !=j and i != k and j !=k :
count+= 1
print(i ,j , k)print("一共有%s种组合"%count)
View Code
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,求应发放奖金总数?
初级版
profits = input("请输入当月利润:")
profit=int(profits)if profit <= 100000:
bonus= profit * 0.1
elif 100000< profit <=200000:
bonus= 100000*0.1 + (profit-100000)*0.075
elif 200000 < profit <= 400000:
bonus= 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
elif 400000 < profit <= 600000:
bonus= 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
elif 600000 < profit <= 1000000:
bonus= 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
elif 1000000
bonus= 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
print("你应得的奖金为:",bonus)
View Code
进阶版
while True: #增加循环可多次输入
profits = input("请输入当月利润:")if profits != "q" and profits != "Q": #增加一个判断使程序可以退出并增加一个隐形的判断Q
try: #抓取有可能由于输入错误导致的报错
profit =int(profits)if profit <= 100000:
bonus= profit * 0.1
elif 100000< profit <=200000:
bonus= 100000*0.1 + (profit-100000)*0.075
elif 200000 < profit <= 400000:
bonus= 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
elif 400000 < profit <= 600000:
bonus= 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
elif 600000 < profit <= 1000000:
bonus= 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
elif 1000000
bonus= 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
print("你应得的奖金为:",bonus)print("输入 q 结束查询")exceptException :print("对不起你输入的信息有误,请输入当月利润,或输入 q 退出")else:print("结束查询")break
View Code
3.题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
我数学不好,只能想一个笨办法来解决
#题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
for a in range(0,10000):
b= (a+100)**0.5 #思路;如果b是一个平方数,那么它的开方应该是一个一位小数的数字,如:121开方后是11.0,如果是小数点两位,那么它不可能是一个完全开方数
q=len(str(b).split(".")[1]) #所以把b这个浮点数按小数点分开,如果小数点后面是一位,那么它包含了所以的完全平方数和可能不是的完全平方数
if q == 1:
c= (a+100+168)**0.5w=len(str(c).split(".")[1])if w == 1: #再次筛选,那么是c完全平方数的概率也就极大增加了,到底有多大,请看结果。验证后没有错误答案,
print(a)
View Code
4.题目:输入某年某月某日,判断这一天是这一年的第几天?
importtimewhileTrue:
a= input("请输入某年某月某日,(如:2016-08-06):")if a != "q":try:
c= time.strptime(a,"%Y-%m-%d") #把获取的时间转换成元组形式并获取数据
print("这是%s年的第%s天"%(a[0:4],c.tm_yday))exceptException:print("输入有误,请重新输入,退出请输入q")else:print("已退出")break
View Code
5.题目:输入三个整数x,y,z,请把这三个数由小到大输出。
whileTrue:
a= input("请输入三个整数,并用逗号隔开,如:2,5,4 (退出请输入 q ):")if a != "q":try:
b= a.split(",")
r= int(b[0]) #int也有一个好处,就是判断它是否为空或者特殊字符,是则报错
w =int(b[1])
e= int(b[2])
c=[]
c.append(r)#c里的内容必须是int类型,因为b是字符串,那么b.sort排序 会把10排到5后面,因为10在b里是字符串,它没有5大
c.append(w)
c.append(e)
c.sort()if len(b) >3: #判断是否输入数大于三位
print("请输入三位整数,退出请输入 q")continue
print("您输入的数%s从小到大的排序为:%s ,%s ,%s"%(a,c[0],c[1],c[2]))exceptException:print("输入有误,请重新输入,退出请输入 q")else:print("已退出")break
View Code
6.题目:用*号输出字母C的图案。
print("""* * * *
*
*
*
*
*
*
*
*
*
*
* * *""" )
View Code
7.题目:输出9*9口诀。
#题目:输出9*9口诀。
for i in range(1,10):for j in range(1,10):if i <=j:#print(str(i) + "*" + str(j) + "=" + str(i*j))
#print("{a}*{b}={c}".format(a=i,b=j,c=i*j)) #第二种方法
print("%d*%d=%d"%(i,j,i*j)) #第三种方法
View Code
#题目:输出9*9口诀。
for i in range(1,10):for j in range(1,10):if i <=j:print(str(i) + "+" + str(j) + "=" + str(i*j))#print("%s+%s=%s"%(i,j,i*j)) #第二种输出方法
View Code
8.题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和
#题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和
a, b = 1, 1
for i in range(10):
a, b= b, a +bprint(a)#def cn(n): #输出指定的第几个数#a, b = 1, 1#for i in range(n-1):#a, b = b, a + b#return a#print(cn(10))
View Code
9.题目:将一个列表的数据复制到另一个列表中。
#题目:将一个列表的数据复制到另一个列表中。
a=[1,2,3]#b = a 这种方法不行#print(b)#a.append(5)#print(b)
b = a[:] #这个可以,相当于复制a,也可以a[0:len(a)]
print(b)
a.append(7)print(b)
View Code
10 题目:暂停一秒输出
#题目:暂停一秒输出
importtimeprint("开始暂停")
time.sleep(1)print("暂停了一秒")
View Code
11.题目:暂停一秒输出,并格式化当前时间。
#题目:暂停一秒输出,并格式化当前时间。
importtimeprint("暂停一秒")
time.sleep(1)
a= time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()) #time.localtime()获取当前时间元组形式,time.strftime()格式化时间
print(a)
View Code
12.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
#题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?#这是斐波那契数列,1,1,2,3,5,8,13
a, b = 1, 1c=[]print("第一个和第二个月都只有一对兔子")print(a)for i in range(24):
a, b= b, a +bprint(a)
View Code
13.题目:判断101-200之间有多少个素数,并输出所有素数
#题目:判断101-200之间有多少个素数,并输出所有素数。素数就是大于一的自然数,只能被一和自己整除的数
count =0for num in range(101,201):for i in range(2,num):if num%i==0 :break
else:
count+= 1
print("%d是素数"%num)print("一共有%s个素数"%count)
View Code
14.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
#题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
for i in range(100,1000):
a= int((str(i)[0]))**3 + int((str(i)[1]))**3 + int((str(i)[2]))**3
if a ==i:print(i)
View Code
15.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
#题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
target=int(input('输入一个整数:'))print(target,'=',end='')if target<0:
target=abs(target)print('-1*',end='')
flag=0if target<=1:print(target)
flag=1
whileTrue:ifflag:break
for i in range(2,int(target+1)):if target%i==0:print("%d"%i,end='')if target==i:
flag=1
break
print('*',end='')
target/=ibreak
View Code
16.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
#题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
try:
numb_s= int(input("请输入成绩,输入 q 退出:"))while numb_s != "q":if numb_s >= 90:print("A")elif 60 <= numb_s <=89:print("B")else:print("C")exceptException:print("输入数据错误,请重新输入或输入 q 退出")
View Code
17.
1