禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301
python第三章作业(初级)(1~12)
第1关:判断是否直角三角形第2关:今年多少天?第3关:判断三角形并计算面积第4关:身高测算第5关:个税计算器第6关:判断闰年第7关:分段函数B第8关:百分制成绩转换五分制E第9关:正负交错数列前n项和第10关 求数列前n项的平方和第11关 百钱买百鸡A第12关 用户登录C第1关:判断是否直角三角形
任务描述
输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。
输入格式
输入包括三行,每行是一个数字
输出格式
‘YES’ 或’NO’
示例
输入:
345
输出:
YES
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060a = eval(input())b = eval(input())c = eval(input())a, b, c = sorted([a, b, c])if a<=0 or a+b<=c: print('NO')elif a*a+b*b==c*c: print('YES')else: print('NO')
第2关:今年多少天?
任务描述
闰年366天,其他年份365天。普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);
用户输入一个正整数,代表年份,输出该年有多少天?
输入格式
输入一个正整数,表示年份
输出格式
该年的天数
示例 1
输入:1999
输出:365
示例 2
输入:2000
输出:366
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060year=int(input())if year % 400 == 0 or year % 4 == 0 and year % 100 != 0: print(366)else: print(365)
第3关:判断三角形并计算面积
任务描述
输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
输入格式
输入包括三行,每行是一个数字
输出格式
如果输入的三个数字能够组成三角形的三边,则输出为两行,分别是’YES’ 和面积值(结果严格保留2位小数);如果输入的三边不能组成三角形,则输出为’NO’
示例 1
输入:
3.04.05.0
输出:
YES6.00
示例2
输入:
258
输出:
NO
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060a = eval(input())b = eval(input())c = eval(input())if a+b>c and a+c>b and b+c>a: p = (a+b+c)/2 area = (p*(p-a)*(p-b)*(p-c))**0.5 print('YES') print(f'{area:.2f}')else: print('NO')
第4关:身高测算
任务描述
测算身高,单位为厘米,公式参考下列:
男性身高=(父亲身高+母亲身高)×1.08÷2
女性身高=(父亲身高×0.923+母亲身高)÷2
性别输入"男"或“女”,本题保证所有测试输入身高数据为整型,输出结果取整。如果性别输入不符合要求,则输出“无对应公式”
输入格式
输入三行数据如下:
父亲身高(厘米)
母亲身高(厘米)
性别
输出格式
计算出的身高数据(厘米,取整)
示例
输入:
183175女
输出:
171
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060x = int(input())y = int(input())g = input()if g == "男": h = (x+y)*1.08/2 print(int(h))elif g == "女": h = (x*0.923+y)/2 print(int(h))else: print("无对应公式")
第5关:个税计算器
任务描述
目前我国个人所得税计算公式如下:
应纳个人所得税税额= (工资薪金所得 -五险一金 - 个税免征额)×适用税率-速算扣除数
个税免征额为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”。
输入格式
输入一个表示工资的数值,例如12000.0,此数值为已扣除五险一金后的金额。
输出格式
应缴税款490.00元,实发工资11510.00元。
示例 1
输入:12000
输出: 应缴税款490.00元,实发工资11510.00元。
示例 2
输入: 20000
输出: 应缴税款1590.00元,实发工资18410.00元。
示例 3
输入: -10
输出: error
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060a = eval(input())b = 0 if a < 0: print("error")else: if 0 < a-5000 <= 3000: b = (a-5000) * 0.03 elif 3000 < a-5000 <= 12000: b = (a-5000) * 0.10 - 210 elif 12000 < a-5000 <= 25000: b = (a-5000) * 0.20 - 1410 elif 25000 < a-5000 <= 35000: b = (a-5000) * 0.25 - 2660 elif 35000 < a-5000 <= 55000: b = (a-5000) * 0.30 - 4410 elif 55000 < a-5000 <= 80000: b = (a-5000) * 0.35 - 7160 elif a-5000 > 8000: b = (a-5000) * 0.45 - 15160 print("应缴税款{:.2f}元,实发工资{:.2f}元。".format(b, a - b))
第6关:判断闰年
任务描述
写一个程序用于判断用户输入的年份是不是闰年,如果是输出“True”,如果不是输出“False”。
输入格式
输入一个代表年份的正整数
输出格式
“True”或“False”
示例 1
输入: 1900
输出: False
示例 2
输入: 2000
输出: True
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060year = int(input())if year%4==0 and year%100!=0 or year%400==0: print(True)else: print(False)
第7关:分段函数B
任务描述
按照输入的整数x,输出对应的y值。本题保证所有测试用例均在整数范围内。
输入格式
输入一个整数,表示x的值
输出格式
输出y的值(整数类型)
示例1
输入: -10
输出: 0
示例2
输入: 0
输出: 1
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060x = eval(input())def fun(x): if x <= 1: return 1 return x*fun(x-1)if x > 6 or x < -6: print(0)elif x < 0 and x >= -6: print(abs(x)+5)elif x<3 and x>=0: print(fun(x))else: print(x**(x-2))
第8关:百分制成绩转换五分制E
任务描述
编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于等于90且小于等于100的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60且大于等于0的输出为“E”,如果输出的成绩大于100或小于0,输出’data error!'。
输入格式
输入一个数字,代表百分制成绩。
输出格式
A、B、C、D、E中的一个字母,表示五分制的成绩等级;或输出’data error!’
示例
输入:
88
输出:
B
输入:
-5
输出:
data error!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060a = eval(input())if 90<=a<=100: print('A')elif 80<=a<90: print('B')elif 70<=a<80: print('C')elif 60<=a<70: print('D')elif 50<=a<60: print('E')else: print('data error!')
第9关:正负交错数列前n项和
任务描述
1-1/2+2/3-3/5+4/8-5/13+…的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。
输入格式
一个正整数
输出格式
前n项的和
示例 1
输入: 12
输出: 0.828448
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060n = int(input())a = b = res = 1for i in range(1, n): a, b = b, a+b res = res + ((-1)**i)*i/bprint(f"{res:.6f}")
第10关 求数列前n项的平方和
任务描述
现有数列:1,2,3,4,……,n,计算并输出其前n项的平方和,即求:
1×1+2×2+3×3+……+n×n的和。
输入
输入一个正整数 n
输出
数列前n项的平方和
示例
输入
3
输出
14
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060n = eval(input())res = 0for i in range(1, n+1): res = res + i*iprint(res)
第11关 百钱买百鸡A
任务描述
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?
输入格式
该题目没有输入
输出格式
每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔;
如果有多组解时,按鸡翁数量由少到多输出;
示例
输出:
x xx xxx xx xxxx x xx
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060for x in range(5, 101, 5): for y in range(3, 101 - x, 3): z = 100-x-y if (x//5 + y//3 + z*3 == 100) and (x+y+z == 100): print("{} {} {}".format(x//5, y//3, z*3))
第12关 用户登录C
任务描述
实现用户输入用户名和密码,当用户名为admin或administrator且密码为012345时,显示“登录成功”,否则显示“登录失败”,登录失败时允许重复输入三次。
输入格式
用户在两行里分别输入用户名和密码
输出格式
“登录成功"或"登录失败”
示例 1
输入:
admin012345
输出:
登录成功
示例 2
输入:
administrator012345
输出:
登录成功
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134846060n = 0while n<3: a, b = input(), input() if a in ['admin','administrator'] and b=='012345': print('登录成功') break else: print("登录失败") n += 1