Python课堂练习1

写在前面,这些题目为我学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('不通过')

  • 9
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值