PYTHON——选择结构

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的情况)

输入格式:

分三行输入。

注意:

  1. 输入使用input(),不要增加额外的提示信息
  2. 在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("输入格式错误")
  • 35
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值