1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? number = (1 ,2,3,4) count = 0 for i in number:#for i in range(1,5) for j in number: for k in number: if i !=j and i != k and j != k : count += 1 print(i ,j , k) print("一共有%s种组合"%count)
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 < profit: bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01 print("你应得的奖金为:",bonus)
进阶版

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 < profit: bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01 print("你应得的奖金为:",bonus) print("输入 q 结束查询") except Exception : print("对不起你输入的信息有误,请输入当月利润,或输入 q 退出") else: print("结束查询") break
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.5 w=len(str(c).split(".")[1]) if w == 1: #再次筛选,那么是c完全平方数的概率也就极大增加了,到底有多大,请看结果。验证后没有错误答案, print(a)
4.题目:输入某年某月某日,判断这一天是这一年的第几天?

import time while True: 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)) except Exception: print("输入有误,请重新输入,退出请输入q") else: print("已退出") break
5.题目:输入三个整数x,y,z,请把这三个数由小到大输出。

while True: 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])) except Exception: print("输入有误,请重新输入,退出请输入 q ") else: print("已退出") break
6.题目:用*号输出字母C的图案。

print(""" * * * * * * * * * * * * * * * * * """ )
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)) #第三种方法

#题目:输出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)) #第二种输出方法
8.题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和

#题目:斐波那契数列 斐波那契就是从第三个数开始,都是前两个数的和 a, b = 1, 1 for i in range(10): a, b = b, a + b print(a) # def cn(n): #输出指定的第几个数 # a, b = 1, 1 # for i in range(n-1): # a, b = b, a + b # return a # print(cn(10))
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)
10 题目:暂停一秒输出

#题目:暂停一秒输出 import time print("开始暂停") time.sleep(1) print("暂停了一秒")
11.题目:暂停一秒输出,并格式化当前时间。

#题目:暂停一秒输出,并格式化当前时间。 import time print("暂停一秒") time.sleep(1) a = time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()) #time.localtime()获取当前时间元组形式,time.strftime()格式化时间 print(a)
12.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

#题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? #这是斐波那契数列,1,1,2,3,5,8,13 a, b = 1, 1 c=[] print("第一个和第二个月都只有一对兔子") print(a) for i in range(24): a, b = b, a + b print(a)
13.题目:判断101-200之间有多少个素数,并输出所有素数

#题目:判断101-200之间有多少个素数,并输出所有素数。素数就是大于一的自然数,只能被一和自己整除的数 count = 0 for 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)
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)
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=0 if target<=1: print(target) flag=1 while True: if flag: 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/=i break
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") except Exception: print("输入数据错误,请重新输入或输入 q 退出")
17.
1