行业知识
Python123 期末题库
前言
本篇文章记录在 Python123 上面的题库,代码仅供参考,题量除了学校作业之外还去收集了一些。对有益处的同学可以收藏一下,把感受写在评论区,切勿关注,社恐谢谢!
题库
1. Hello World I
输出Hello World,注意大小写。
print('Hello World') 这个太简单,不会就等着挂科吧,哈哈哈。
2. 说句心里话 A
分两次从控制台接收用户的两个输入:第一个内容为"人名",第二个内容为"心里话"。
然后将这两个输入内容组成如下句型并输出出来:
(人名),我想对你说,(心里话)
a=input("")b=input("")print(f'{a:},我想对你说,{b:}') 掌握输入和 f’ ’ 控制输出格式。
3. 计算矩阵面积A
用户输入矩形的长和宽,计算其面积并输出。
a, b = eval(input()), eval(input())print(a*b)
和第四题一样注意输入的格式。
4. 输出某个数的整数部分和小数部分
要求用户输入一个小数,能够分别获取整数部分和小数部分,并输出。
zs,xs=input().split('.')print(f'整数部分是{zs},小数部分是{xs}') 5. 三角形周长及面积
输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积。测试用例的数据保证三角形三边数据可以构成三角形。
import matha = eval(input())b = eval(input())c = eval(input())# 保证三角形存在不用判断了s = (a+b+c)/2squar = math.sqrt(s*(s-a)*(s-b)*(s-c))perimeter = a+b+cprint('周长={:.2f}'.format(perimeter))print('面积={:.2f}'.format(squar)) 全都是公式,很简单。这里可以不用数学库,开方可以 **0.5 .三个输入可以写成一行。
6. 表达式求值
利用下面公式计算并输出 x 的值。(提示:开平方可以用指数运算 a**(1/2)来实现,也引入数学库math,再用数学库中的math.sqrt()函数实现)
import matha = eval(input())b = eval(input())c = eval(input())d = (-b+math.sqrt(b*b-4*a*c))/(2*a)print("{:.2f}".format(d)) 7. 计算存款利息
在三行中依次输入初始存款金额,存款年限,年利率,每年末计一次利息并转为本金,计算并输出存款到期时的利息(不含本金,税前),结果保留2位小数。
import mathP = eval(input())N = eval(input())i = eval(input())F = P*((1+i))**N-Pprint('利息={:.2f}'.format(F)) 记得求利息需要减去本金。
8. 商店找钱给顾客
商店需要找钱给顾客,现在只有50元,5元和1元的人民币若干张。输入一个整数金额值,给出找钱的方案,假设人民币足够多,且优先使用面额大的钱币。
import mathmoney = (int)(input())m50 = math.floor(money / 50)money = money % 50 # 更新moneym5 = math.floor(money/5)money = money%5m1 = math.floor(money/1)print("50yuan:",m50)print("5yuan:",m5)print("1yuan:",m1) 终于有点补充的知识了。此处我们就是要整除对吧,\\ 也是整除同样是向下取整,但是如果你要四舍五入的话。就需要 round(1.75) 这种类似于强制转换的语法。
9. 获取月份字符串
输入一个1~12的数字,输出相应的月份,例如输入3,输出“三月份”
s = int(input())b = ['0', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']print(b[s] + "月份")
当然你也可以换成元组,最好是这样。这种索引操作要学会也不难呐。
10. 英文字符串单词个数统计
输入一个英文字符串,按照空格分割单词并统计单词个数
str = input().split(' ') # print(len(str)) # 获取长度 这里我们把输入的英文语句通过空格分成单词。存储在 str 列表中,用 len() 函数直接求出长度,也就是说单词数目。
11. 判断闰年
输入一个年份,判断是否是闰年
闰年判断标准如下,满足其下1个条件即可
1、能被4整除,但不能被100整除
2、能被400整除
year = int(input())if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print(f'{year:}年是闰年')else: print(f'{year:}年不是闰年') 12. 字符替换
假设有段英文,其中有单独字母“P”被误写为“p”,请编写程序进行纠正。
str = input()if 'p' in str: str = str.replace('p','P')print(str) 这里记住字符串操作有一个 replace(目的字符,被替换的字符) 方法就可以了。
13. 用户登录
某个学生的用户名和密码都是abc123,判断学生输入的用户名和密码是否正确,如果正确,输出“欢迎进入”,否则输出“有误,请重新输入!”
user = 'abc123'pasword = 'abc123'user1 = input()password1 = input()if user == user1 and pasword == password1 : print('欢迎进入')else: print('有误,请重新输入!') 就是一般的判断语句,没有难度。
14. 反转一个整数
输入一个非 0 十进制整数(不允许前导0的存在,即不允许类似 0123 这样的输入),将其反转输出。
x = input()y = x[::-1].strip('0') # 删除零if y[-1] == '-': print('-'+y[:-1])else: print(y) 这里我们输入字符串的整数,使用 x[起始地址:末端地址:步长(-1表示颠倒字符串)],使用strip()方法就会出去两端的0.如果存在负数,颠倒后的负号就会出现在末端,我们输出控制一下输出的内容:加一个负号在前面,y不要输出负号就好了。
15. 身高测算
测算身高,单位为厘米,公式参考下列:
男性身高=(父亲身高+母亲身高)×1.08÷2
女性身高=(父亲身高×0.923+母亲身高)÷2
性别输入"男"或“女”,本题保证所有测试输入身高数据为整型,输出结果取整。如果性别输入不符合要求,则输出“无对应公式”
dad = int(input())mom = int(input())child = input()if child == '男': hight = int((dad + mom) * 1.08 / 2) print(hight)elif child == '女' : hight = int((dad * 0.923 + mom) / 2) print(hight)else: print("无对应公式") 就是按照孩子性别进行一个分支处理公式,输出就好了。注意非人性别的情况。
16.英寸和厘米升级版
虽然我国已经很好的普及了国际单位制,而在现实生活中,仍然有很多地方采用了英制单位来描述,例如,我们买一台65寸的电视,这个地方的寸指的就是英寸,或者拍一张2寸的照片,用的是相同的英制单位。
现在已知 1英寸 = 2.54厘米。
xin = input()if xin[-1] == 'i' : xout = eval(xin[0:-1])*2.54 print(f'{xout:.2f}cm')elif xin[-4:] == 'inch': xout = eval(xin[0:-4])*2.54 print(f'{xout:.2f}cm')elif xin[-1]=='c': xout = eval(xin[0:-1])/2.54 print(f'{xout:.2f}inch')elif xin[-2:] == 'cm': xout = eval(xin[0:-2])/2.54 print(f'{xout:.2f}inch')else: print('输入错误。') 这道题主要考虑切片,条件语句,慢慢来不难。
17.天天向上的力量
一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用“逗号+空格”格式。
N=eval(input(""))up=pow((1.0+0.001*N),364)down=pow((1.0-0.001*N),364)ud=int(up//down)print("{:.2f}, {:.2f}, {}".format(up, down, ud)) 这道题都是极限值,要么整年做好学生,要么摆烂一整年,多损啊。注意 N% ,这个 N 代表百分号前面的数字,使用记得缩小啊!
18. 判断数值类型
复数的虚数部分必须有"j"或"J",浮点数必须包含".",输入一个数,请判断并输该数是“复数”、“浮点数”还是“整数”,题目保证输入是一个合法的数。
str = input()if 'j' in str or 'J' in str: print('复数')elif '.' in str: print('浮点数')else: print("整数") 19. 一元二次方程求根
一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:
如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!
如果方程无实数解,输出“该方程无实数解”;
如果方程有两个相同的实数解,输出一个解,结果保留2位小数;
如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔,结果保留2位小数。
a = eval(input())b = eval(input())c = eval(input())der = b*b - 4*a*cif der这种多分支的情况,我们可以一个一个考虑满足条件输出就exit(0).非常省事儿。
20. 分类统计字符个数A
编写程序,用户输入一个字符串,以回车结束,统计字符串里英文字母、数字字符和其他字符的个数(回车符代表结束,不计入统计)。
str1 = input()letter = digit = other = 0for c in str1: if c.isalpha(): letter += 1 elif c.isdigit(): digit += 1 else: other += 1print(f'letter = {letter}, digit = {digit}, other = {other}')这里学习两个判断函数,isalpha(), isdigit(), 判断字符类型。for c in str1 就是从 str1 中循环取字符 c.
21.判断三角形并计算面积
输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
a = float(eval(input()))b = float(eval(input()))c = float(eval(input()))s = (a+b+c)/2if a+b>c and a+c>b and c+b>a: print("YES") print(f'{(s*(s-a)*(s-b)*(s-c))**0.5:.2f}')else: print("NO")这里用海伦公式计算,考试可能不会给出所以一定要记住 。三角形的判断就是两边之和大于第三边。
22. 个人税计算器
目前我国个人所得税计算公式如下:
应纳个人所得税税额= (工资薪金所得 -五险一金 - 个税免征额)×适用税率-速算扣除数
个税免征额为5000元/月,2018年10月1日起调整后,也就是2018年实行的7级超额累进个人所得税税率表如下:
全月应纳税所得额(含税级距) 税率(%) 速算扣除数
不超过3,000元 3 0
超过3,000元至12,000元的部分 10 210
超过12,000元至25,000元的部分 20 1,410
超过25,000元至35,000元的部分 25 2,660
超过35,000元至55,000元的部分 30 4,410
超过55,000元至80,000元的部分 35 7,160
超过80,000元的部分 45 15,160
请编写一个个税计算器,用户输入为应发工资薪金所得扣除五险一金的金额,输出应缴税款和实发工资,结果保留小数点后两位。当输入数字小于0时,输出“error”。
#个税计算器n=eval(input())x=0if n