1.判断是否允许登机
本题目要求根据旅客状态判断输出是否允许旅客登机。
首先程序给出两个问题:
1.是否购买机票(0-未购买 1-购买)
2.是否通过安检(0-未通过 1-通过)
旅客可以选择输入目前的状态,程序根据输入判断之后,输出是否允许登机。
代码如下:
buy_ticket, security_check = map(int, input().split(','))
if buy_ticket == 1:
if security_check == 0:
print("未通过安检,不能登机")
else:
print("请登机")
else:
print("没有机票不能登机")
2.分段函数
代码如下:
from math import *
x = eval(input())
if x < 1:
y = log(fabs(x), 2)
elif x < 10:
y = exp(x)
else:
y = 3 * pow(x / 3, 1 / 2) + 10
print("{:.2f}".format(y))
3.zust-sy5-12计算身体质量指数
身体质量指数(BMI ),是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个指标。它的计算公式∶
BMI=体重÷身高2(体重除以身高的平方)。其中,体重的单位是kg,身高的单位是m。中国人的BMI参考标准:BMI<18.5为偏瘦﹔18.5≤BMI<24为正常﹔24≤BMI<28为偏胖﹔BMI≥28位肥胖。
编写一个程序,输入一个人的身高和体重,计算BMI,并输出体重是否正常。
输入格式:
输入体重(kg)、身高(m),以空格隔开。
输出格式:
第一行输出BMI(保留小数点1位)
第二行输出胖瘦程度(偏瘦/正常/偏胖/肥胖)
代码如下:
from math import *
weight, height = map(eval, input().split())
bmi = weight / pow(height, 2)
print(f"你的bmi是:{bmi:.1f}")
if bmi < 18.5:
print(f"偏瘦")
elif 18.5 <= bmi < 24:
print(f"正常")
elif 24 <= bmi < 28:
print(f"偏胖")
else:
print(f"肥胖")
4.娃娃上学报道
根据相关规定,当年8月31日之前年满6周岁的儿童可以报名上小学。根据身份证号审核儿童2022年是否具有报名资格。(从第七位开始的八位为出生日期)
输入格式:
输入身份证号
输出格式:
输出"yes"或no"
输入样例:
31310320160830113A
输出样例:
yes
代码如下:
s = input()[6:14]
if 2022 - int(s[0:4]) > 6:
print("yes")
else:
if 2022 - int(s[0:4]) == 6:
if int(s[4:6]) <= 8:
print("yes")
else:
print("no")
else:
print("no")
5.四则运算
从键盘输入两个整数a,b,一个操作符op,计算并输出a op b的结果。(无需考虑除数为0的情况)
输入格式:
分三行输入。
注意:
- 输入使用input(),不要增加额外的提示信息
- 在python3中从键盘读入的都为字符串,数值类型需要使用 int(input()) 或 eval(input()) 来进行转换。
输出格式:
要求列出式子,具体格式见输出样例
输入样例1:
2
+
3
输出样例1:
2+3=5
输入样例2:
6
/
2
输出样例2:
6/2=3.0
代码如下:
a = int(input())
op = input()
b = int(input())
if op == '+':
result = a + b
print(f"{a}{op}{b}={result}")
elif op == '-':
result = a - b
print(f"{a}{op}{b}={result}")
elif op == '*':
result = a * b
print(f"{a}{op}{b}={result}")
elif op == '/':
result = round(a / b, 1)
print(f"{a}{op}{b}={result}")
else:
print("无效的操作符")
6.jmu-pyhon-判断闰年
输入一个年份,判断其是否为闰年。
判断闰年的标准:能被4整除但不能被100整除,或者能被400整除的年份是闰年。
输入格式:
直接输入一个4位数年份,没有其它任何附加字符。
输出格式:
输出year是闰年或者year不是闰年
输入样例:
1900
输出样例:
1900不是闰年
输入样例:
1904
输出样例:
1904是闰年
输入样例:
2000
输出样例:
2000是闰年
代码如下:
year = eval(input())
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print('%d是闰年' % year)
else:
print('%d不是闰年' % year)
7.输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
输入格式:
输入为3个正整数,分别代表三角形的3条边a、b、c。
输出格式:
如果输入的边能构成一个三角形,则在一行内,按照
area = 面积; perimeter = 周长
的格式输出,保留两位小数。否则,输出
These sides do not correspond to a valid triangle
输入样例1:
5 5 3
输出样例1:
area = 7.15; perimeter = 13.00
输入样例2:
1 4 1
输出样例2:
These sides do not correspond to a valid triangle
代码如下:
from math import *
a,b,c = map(int,input().split(' '))
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
s = perimeter / 2
area = sqrt(s * (s - a) * (s - b) * (s - c))
print("area = {:.2f}; perimeter = {:.2f}".format(area, perimeter))
else:
print("These sides do not correspond to a valid triangle")
8.判断象限
输入坐标,判断该坐标位于哪个象限,或者位于x轴、y轴、原点。
输入格式:
输入两个整数,以逗号分隔,表示x和y坐标
输出格式:
输出一个字符串,具体见样例
输入样例:
1,2
输出样例:
位于第一象限
输入样例:
1,0
输出样例:
位于x轴
输入样例:
0,-2
输出样例:
位于y轴
输入样例:
0,0
输出样例:
位于原点
代码如下:
x,y = map(int,input().split(','))
if x > 0 and y > 0:
print("位于第一象限")
elif x < 0 and y > 0:
print("位于第二象限")
elif x == 0 and y == 0:
print("位于原点")
elif x < 0 and y < 0:
print("位于第三象限")
elif x > 0 and y < 0:
print("位于第四象限")
elif x == 0 and y != 0:
print("位于y轴")
elif y == 0 and x != 0:
print("位于x轴")
else:
print("位于原点")
9.zust-sy5-14学生成绩转换绩点
绩点是综合评价学生学习质量的重要指标之一。在大学里,用GPA也就是“平均学分绩点”衡量学生成绩。平均学分绩点有多种换算方式。
假设学校考核绩点转换规则如下:成绩大于或等于85的转换为“4.5”,成绩大于或等于75且小于85的转换为“3.5”,成绩大于或等于65且小于75的转换为“2.5”,成绩大于或等于60且小于65的转换为“1.7”,成绩小于60的转换为“0”,输入其它数据则输出“Data Error”。用户输入百分制的学生成绩输出对应课程绩点。
输入格式:
输入一个正整数,代表百分制成绩。
输出格式:
输出对应课程绩点
输入样例:
在这里给出一组输入。例如:
76
输出样例:
在这里给出相应的输出。例如:
3.5
代码如下:
score = eval(input())
if score >= 85 and score <= 100:
gpa = 4.5
print(gpa)
elif score >= 75 and score < 85:
gpa = 3.5
print(gpa)
elif score >= 65 and score < 75:
gpa = 2.5
print(gpa)
elif score >= 60 and score < 65:
gpa = 1.7
print(gpa)
elif score < 60 and score >= 0:
gpa = 0
print(gpa)
else:
print("Data Error")
10.zust-sy5-9判断回文字符串
回文是字符串中心对称,从左向右读和从右向左读的内容是一样的。输入一个字符串,判断该字符串是否为回文。
输入格式:
在一行中输入一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
如果是回文字符串,输出Yes,否则输出No
输入样例:
在这里给出一组输入。例如:
ABCCBA
输出样例:
在这里给出相应的输出。例如:
Yes
代码如下:
s = input().strip()
if s == s[::-1]:
print("Yes")
else:
print("No")
11.zust-sy1-8求一元二次方程的实根
从键盘输入一元二次方程的二次项到常数项的系数a,b,c(其中a!=0),计算并输出2个实根。若没有实根,输出“无实根!”。
输入格式:
输入一元二次方程的二次项到常数项的系数a,b,c
输出格式:
输出2个实根。若没有实根,输出“无实根!”。
输入样例1:
在这里给出一组输入。例如:
1,4,2
输出样例1:
在这里给出相应的输出。例如:
x1=-0.59,x2=-3.41
输入样例2:
在这里给出一组输入。例如:
3,6,9
输出样例2:
在这里给出相应的输出。例如:
无实根!
代码如下:
from math import *
a,b,c = map(int,input().split(','))
result = b * b - 4 * a * c
if result > 0:
x1 = (-b + sqrt(result)) / (2 * a)
x2 = (-b - sqrt(result)) /(2 * a)
print(f"x1={x1:.2f},x2={x2:.2f}")
elif result == 0:
x1 = -b / (2 * a)
x2 = -b / (2 * a)
print(f"x1={x1:.2f},x2={x2:.2f}")
else:
print("无实根!")
12.个税计算器
目前我国个人所得税计算公式如下:
应纳个人所得税税额= 应纳税所得额× 适用税率- 速算扣除数
应纳税所得额为应发工资税前扣除三险一金的金额,个税免征额为3500元/月,2011年9月1日起调整后,也就是2012年实行的7级超额累进个人所得税税率表如下:
全月应纳税所得额(含税级距) 税率(%) 速算扣除数 不超过1,500元 3 0 超过1,500元至4,500元的部分 10 105 超过4,500元至9,000元的部分 20 555 超过9,000元至35,000元的部分 25 1,005 超过35,000元至55,000元的部分 30 2,755 超过55,000元至80,000元的部分 35 5,505 超过80,000元的部分 45 13,505
请编写一个个税计算器,用户输入为应发工资税前扣除三险一金的金额,输出应缴税款和实发工资,结果保留小数点后两位。
输入格式:
输入一个数字,如:90000
输出格式:
应缴税款25420.00元,实发工资64580.00元。
输入样例1:
3000
输出样例1:
应缴税款0.00元,实发工资3000.00元。
输入样例2:
9000
输出样例2:
应缴税款545.00元,实发工资8455.00元。
代码如下:
income = float(input())
threshold = 3500
tabxable_income = income - threshold
tax = 0
if tabxable_income <= 0:
tax = tax
elif tabxable_income > 0 and tabxable_income <= 1500:
tax = tabxable_income * 0.03 - 0
elif tabxable_income > 1500 and tabxable_income <= 4500:
tax = tabxable_income * 0.10 - 105
elif tabxable_income > 4500 and tabxable_income <= 9000:
tax = tabxable_income * 0.20 - 555
elif tabxable_income > 9000 and tabxable_income <= 35000:
tax = tabxable_income * 0.25 - 1005
elif tabxable_income > 35000 and tabxable_income <= 55000:
tax = tabxable_income * 0.30 - 2755
elif tabxable_income > 55000 and tabxable_income <= 80000:
tax = tabxable_income * 0.35 - 5505
else:
tax = tabxable_income * 0.45 - 13505
after_tax_income = income - tax
print(f"应缴税款{tax:.2f}元,实发工资{after_tax_income:.2f}元。")
13.人民币与美元汇率兑换程序
设计人民币与美元汇率兑换程序,按照1美元=7人民币的汇率 编写一个双向兑换程序。
输入格式:
输入美元或者人民币的金额,币种在前,金额在后,如:$20、¥100。每次输入一个金额。
输出格式:
输出经过汇率计算的美元或人民币的金额,格式与输入一样,结果保留两位小数。
输入样例1:
$20
输出样例1:
¥140.00
输入样例2:
¥100
输出样例2:
$14.29
输入样例3:
#120
输出样例3:
输入格式错误
代码如下:
amount = input()
if len(amount) < 2:
print("输入格式错误")
elif amount[0] == '$':
usd_amount = float(amount[1:])
cny_amount = usd_amount * 7
print("¥{:.2f}".format(cny_amount))
elif amount[0] == '¥':
cny_amount = float(amount[1:])
usd_amount = cny_amount / 7
print("${:.2f}".format(usd_amount))
else:
print("输入格式错误")