python 写的几道题
''' #乘法口诀''' for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d" % (i,j,i*j),end=" ") print("")
''' 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。''' for i in range(10,1000): sum=0 temp=i while temp: sum=sum+(temp%10)**3 temp//=10 #地板除 if sum==i: print(i)
''' 有 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?''' cnt = 0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and i!=k and j!=k: print (i*100+j*10+k) cnt+=1 print (cnt)
'''企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?''' m=input('请输入月利润:') n=int(m) if 0<n <=100000: print('你的提成是:%d'%(n*0.1)) elif 100000<n<=200000: print('你的提成是:%d'%(100000*0.1+(n-100000)*0.075)) elif 200000<n<=400000: print('你的提成是:%d'%(100000*0.1+(100000)*0.075+(n-200000)*0.05)) elif 400000<n<=600000: print('你的提成是:%d'%(100000*0.1+(100000)*0.075+200000*0.05+(n-400000)*0.03)) elif 600000<n<=1000000: print('你的提成是:%d'%(100000*0.1+(100000)*0.075+200000*0.05+400000*0.03+(n-600000)*0.015)) elif n>1000000: print('你的提成是:%d'%(100000*0.1+(100000)*0.075+200000*0.05+400000*0.03+400000*0.015+(n-1000000)*0.01)) else: print('请确认利润是否正确')
'''一个整数,它加上 100 后是一个完全平方数,再加上 168又是一个完全平方数,请问该数是多少?''' import math num=1 while True: if math.sqrt(num+100)-(int(math.sqrt(num+100)))==0 and math.sqrt(num+268)-(int(math.sqrt(num+268)))==0: print(num) break num+=1
'''输入某年某月某日,判断这一天是这一年的第几天?''' import datetime das=input('请输入年月日(如:20150103) :') dta=datetime.datetime.strptime(das,'%Y%m%d') m=(str(das))[:4]+'0101' m=datetime.datetime.strptime(m,'%Y%m%d') h=(int((dta-m).days)+1) print(h)
'''输入三个整数 x,y,z,请把这三个数由小到大输出。''' x=input() y=input() z=input() n=0 if int(x)>int(y): if int(z)>int(y): if int(z)>int(x): print(z,x,y) else: print(x,z,y) else: print(x,y,z) elif int(y)<int(z): print(z,x,y) else: print(x,y,z)
"""利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。""" score=int(input('请输入分数:')) if score >=90: print('评级为:A') elif 60<score<=89: print('评级为:B') else: print('评级为:C')
''' 输入一个list,输入一个预期,返回list里面两数之和等于预期的下标 例如list=[1,2,3,4] 预期是3,返回下标为0,1 ''' def list_xiabiao_one(listone,assert_value): if type(listone) is not list: return False if type(assert_value) is not int: return False m=[] for i in range(len(listone)): if type(listone[i]) is not int: return False for j in range(len(listone)): if listone[i]+listone[j]==assert_value and i!=j: m.append((i,j)) else: continue return m ''' 输入一个list,输入一个预期,返回list里面相邻两数之和等于预期的下标 例如list=[1,2,3,4] 预期是3,返回下标为0,1 ''' def list_xiabiao_two(listone,assert_value): if type(listone) is not list: return False if type(assert_value) is not int: return False k=0 for i in range(len(listone)): if k+1<len(listone): if listone[k]+listone[k+1]==assert_value and k!=k+1 : return k,k+1 k+=1 continue