写在前面,这些题目为我学Python练手的题目,答案仅供参考。
第1小题:
[题目描述] 一个包含n位(n>=3 ) 数字的正整数k ,若k的各位数字的n次幂之和等于k ,则k称为水仙花数。输入一个正整数n,输出所有n位的水仙花数。
[输入描述] 一个正整数n, n>=3
[输出描述]所有n位的水仙花数。
[输入样例]
3
[输出样例]
153
370
371
407
n = int(input())
for i in range (10**(n-1),10**n): #取该位数内所有的值
x=str(i) #文本化这个值
y=0 #清除累加
for z in range(len(x)): #取某个值
y += int(x[z])**n #
if y == i:
print(i)
第2小题∶
程序功能∶
某剧场的座位分A、B.C、D、E、F六个区,观众根据分区从不同入口进入。A、B、C区从西门进,D、E、F区从东门进。在检票时,根据输入的票上的座位号提示从哪个门进。
[输入描述]
1个字符串,表示票上的座位号,第1个字符是区号。
[输出描述]
西门或东门
[输入样例]E20200609
[输出样例]东门
y = str(input())
x = (y[0])
if x == 'A':
print('东门')
elif x == 'B':
print('东门')
elif x == 'C':
print('东门')
else:
print('西门')
第3小题:
程序功能∶
乘坐飞时,当乘客行李重量不超过10公斤时,可随身携带行李免费。当行李重量超过10公斤时,必须办理托运。行李费这样计算:如果行李重量大于10公斤且小于等于20公斤时,每公斤2元。如果行李重量大于20公斤时,每公斤3元。请编程计算行李费。
[输入描述]
—个正整数(<100),乘客携带行李重量,单位公斤
[输出描述]
一个整数,表示行李费用
[输入样例]
9
[输出样例]
0
x = int(input())
if x<10:
print('0')
if x>=10 and x<=20:
print(x*2)
if x>20:
print(x*3)
第4小题∶
程序功能∶
小陶家的桃子熟了,10斤以下每斤10元,10斤以上(含10斤)每斤9元。根据桃子的购买重量,计算桃子的金额。
[输入描述]
一个整数,表示桃子的购买重量。
[输出描述]
一个整数,表示桃子的金额。
[输入样例]
2
[输出样例]
20
x = int(input())
if x < 10:
print(x*10)
if x >= 10:
print(x*9)
第5小题∶
程序功能∶
“回文数”是指从左向右读和从右向左读都一样的正整数,如1o1、32123、等。数学上有个“回文数猜想”:不论开始是什么正整数((两位以上),在经过有限次正序数和倒序数相加的骤后,都会得到一个回文数。例如:69变成165(69+96),再变成726 (165+561),再变成1353 (726+627),最后变诚成4884(1353+3531) , 69经过4步演算得到回文数4884。请你编写程序,输入一个正整数,计算需要经过多少步就能得到回文数。为了简化,如果超出30步,则演算终止,并输出“>30”。
[输入描述]输入一个两位以上的正整数。
[输出描述]输出两个数,输出得到回文数的演算步数。若超出30步,则输出“>30”。
[输入样例]69
[输出样例]4
x = input()
y = 0
while y < 30:
if x == x[::-1]: #判断是否是回文
print(y) #输出次数
break #是的话直接结束
else:
z = int(x)+int(x[::-1]) #正反相加
x = str(z) #相加的值赋值给x
y+=1 #次数累加
第6小题∶
程序功能∶
π是数学和物理学普遍使用的常数之一,它定义了圆周长与直径之比。但π是一个无理数,即无限不循环小数,π值无法用任何精确公式表示,以下是用格雷戈里公式求π的近似值,π=4-4/3+4/5-4/7+4/9-4/11+...
编写程序,输入精度e,使用该公式求π的近似值,精确到最后一项(指的是上面公式中二个邻近‘+′号和‘-’之间的式子)的绝对值小于e为止
[输入描述]
—个表示精度要求的小数。
[输出描述]
计算算到的π值。
[输入样例]0.001
[输出样例]3.14209
a = float(input()) #输入精度
b = 0
c = 4
d = 1
b = b+c/(2*d-1) #一项
while abs(c/(2*d-1))>=a: #abs取绝对值 判断项是否大于精度
d+=1 #下一项
c=-c #正负切换
b = b+c/(2*d-1)#相加
print(b)
第7小题∶
程序功能∶
求1到n(包括n)中所有奇数的乘积。编写程序,输入正整数n的值,输出1到n中所有奇数的乘积。
[输入描述]
一个正整数n。
[输出描述]
乘积值。
[输入样例]10
[输出样例]945
x = int(input())
y = 1
z = 1 #奇数
while z <= x: #取所有奇数
y = z*y #所有奇数乘积
z += 2
print(y)
第8小题∶
程序功能∶
个人所得税规定如下:按年度收入征收,起征点额度为60000元;先计算得到年度收入扣除起征点额度后的余额,再按下表列出的累进税率计算应缴税额:
级数 |
年度收入扣除起征点额度后的余额 |
税率 (%) |
1 |
不超过36000元的部分 |
3 |
2 |
超过36000元至144000元的部分 |
10 |
3 |
超过144000元至300000元的部分 |
20 |
4 |
超过300000元的部分 |
25 |
例如,某职工年度收入为100000元,扣除起征点额度后的余额为40000。他应缴的税为36000*0. 03+ ( 40000-36000) *0. 1=1480元。编写一个程序,输入税前年度收入,输出扣税
后的年收入。
[输入描述]
一个整数,表示年度收入。
[输出描述]
一个实数(保留整数) ,表示年度税后收入
[输入样例]
70000
[输出样例]
69700
a = int(input()) #年工资
b = a-60000 #算税
c = 36000*0.03#1
d = 144000*0.1#2
e = 300000*0.2#3
i = 60000 #不收税的工资
if a<60000:
print("不收")
elif b<36000: #1
f = b*0.03
print(b-f+i)
elif b<144000: #2
g = (b-36000)*0.1
print(b-c-g+i)
elif b < 300000: #3
h = (b-144000)*0.2
print(b-c-d-h+i)
else: #4
print(i+b-c-d-e-((b-300000)*0.25))
第9小题∶
程序功能∶
某公司进行入职考试,总分在120分(含)以上及体检结果为A的通过考试,否则不通过。输入考试总分及体检结果,输出考试结果。
[输入描述]
一个字符串,用空格隔开,空格前表示考试总分,空格后表示体检结果。
[输出描述]
通过或不通过。
[输入样例]
126 A
[输出样例]
通过
x,y = input().split()
if int(x)>= 120 and y=="A": #判断
print('通过')
else:
print('不通过')