Python顺序结构和分支结构练习

Problem A:判断成绩是否及格

题目描述
输入成绩的分数值s,如果s≥60,则为及格,输出pass;否则为不及格,输出fail

样例输入

60

样例输出

pass

答案

while True:
    s = eval(input())
    if s >= 60:
        print("pass")
    else:
        print("fail")

Problem B:比较两个数的大小

题目描述
输入两个整数a与b,按照从小到大次序输出两个整数值。

样例输入

2 1

样例输出

1 2

答案

a,b = map(int,input().split())
if a < b:
    print(a,b)
else:
    print(b,a)

Problem C:奇数与偶数

题目描述
输入整数n,如果n为奇数,输出odd;否则输出even

样例输入

1

样例输出

odd

答案

while True:
    n = int(input())
    if n % 2 == 0:				#  %表示取余
        print("even")
    else:
        print("odd")

Problem D:闰年与平年

题目描述
输入年份y,判断这个年份是否为闰年(闰年的条件是:年份能被4整除且不能被100整除,或能被400整除)

输入

输入年份y,y为整数并且满足1600≤y≤2100

样例输入

【测试样例1】
2000
【测试样例2】
2012
【测试样例3】
2015
【测试样例4】
1900

样例输出

【测试样例1】
leap year
【测试样例2】
leap year
【测试样例3】
non-leap year
【测试样例4】
non-leap year

答案

while True:
    y = int(input())
    if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0:		# !=表示不等于
        print("leap year")
    else:
        print("non-leap year")

Problem E:【分支结构】求解一元二次方程

题目描述
求解方程ax^2+bx+c=0。输入a、b、c的值(其中a≠0),计算并输出方程的解x(保留一位小数)。如果方程无实数解,输出“no real solution”。

输入

输入a,b,c的值

输出

输出方程的解,如果有实数解,按照从大到小输出,保留一位小数。

样例输入

1 4 3

样例输出

x1=-1.0
x2=-3.0

答案

from math import sqrt							# 导入防止sqrt报错
a,b,c = map(eval,input().split())
if (b ** 2) - (4 * a * c) > 0:					# 双根情况
    x1 = (-b + sqrt((b ** 2) - (4 * a * c))) / (2 * a)
    x2 = (-b - sqrt((b ** 2) - (4 * a * c))) / (2 * a)
    if x2 > x1:
        x1,x2 = x2,x1							# 确保x1 > x2
        print('x1=%.1f'%x1)
        print('x2=%.1f'%x2)
    else:
        print('x1=%.1f'%x1)
        print('x2=%.1f'%x2)
elif (b ** 2) - (4 * a * c) == 0:				# 单根情况
    x1 = (-b + sqrt((b ** 2) - (4 * a * c))) / (2 * a)
    print('x1=%.1f'%x1)
    print('x2=%.1f'%x1)
else:											# 无根情况
    print('no real solution')

Problem F:足球比赛计分

题目描述
在足球比赛中,每场比赛的计分规则与双方的进球数有关: 进球数多的一方获胜,计3分;进球数少的一方失败,计0分; 如果双方进球数相同(或双方都未进球),为平局,双方各计1分。 输入比赛双方的进球数,输出双方的得分。

输入

输入比赛双方的进球数。

输出

输出双方的得分,用1个空格分隔。

样例输入

0 0
6 1
0 1

样例输出

1 1
3 0
0 3

答案

while True:
    a,b = map(eval,input().split())
    if a > b:
        print("3 0")
    elif a == b:
        print("1 1")
    else:
        print("0 3")

Problem G:【分支结构】并联电阻

题目描述
在并联电路中,两个电阻R1、R2并联之后总的电阻值R可以用公式计算。
输入电阻R1、R2的值(整数),计算并输入R1、R2并联的电阻值(保留一位小数)
一张平平淡淡的电路图

样例输入

3 6

样例输出

2.0

答案

a,b = map(eval,input().split())
if a == 0 or b == 0:
    print('0.0')
else:
    r = (a * b) / (a + b)
    r = '%.1f'%r
    print(r)

Problem H:【分支结构】三个整数a,b,c从小到大排序

题目描述
输入三个整数a,b,c;按照从小到大次序输出。

样例输入

1 2 3
3 2 1
6 6 6
100 10 1

样例输出

1 2 3
1 2 3
6 6 6
1 10 100

答案

while True:
    a,b,c = map(eval,input().split())
    if c < b < a:
        a,b,c = c,b,a
    elif b < c < a:
        a,b,c = b,c,a
    elif b < a < c:
        a,b,c = b,a,c
    elif a < c < b:
        a,b,c = a,c,b
    print(a,b,c)
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值