本文主要是介绍第4周 Python程序流程控制刷题(选择结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
单击题目,直接跳转到页面刷题,一周后公布答案。
- B2050:三角形判断
- B2037:奇偶数判断
- B2039:整数大小比较
- P5711:闰年判断
- P5714:肥胖问题
- B2043:判断能否被 3,5,7 整除
- B2047:分段函数
- B2048:计算邮资
1. B2050:三角形判断
题目描述
给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。
输入格式
输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。(三条边的长度均不超过 10000 10000 10000)
输出格式
如果能构成三角形,则输出 1
,否则输出 0
。
样例 1
样例输入 1
1 1 1
样例输出 1
1
样例 2
样例输入 2
1 1 3
样例输出 2
0
提示
构成三角形的条件:任意两边长度之和大于第三条边的长度。
参考源码:
a, b, c = map(int, input().split())
if a + b > c and a + c > b and b + c > a:print(1)
else:print(0)
2. B2037:奇偶数判断
题目描述
给定一个整数,判断该数是奇数还是偶数。如果 n n n 是奇数,输出 odd
;如果 n n n 是偶数,输出 even
。
输入格式
输入仅一行,一个整数 n n n。
输出格式
输出仅一行,如果 n n n 是奇数,输出 odd
;如果 n n n 是偶数,输出 even
。
样例 1
样例输入 1
5
样例输出 1
odd
样例 2
样例输入 2
10
样例输出 2
even
提示
− 100 ≤ n ≤ 100 -100\le n\le 100 −100≤n≤100。
参考源码:
n = int(input())
if n % 2 == 0:print("even")
else:print("odd")
3. B2039:整数大小比较
题目描述
输入两个整数,比较它们的大小。若 x > y x>y x>y ,输出 >
;若 x = y x=y x=y ,输出 =
;若 x < y x<y x<y,输出 <
。
输入格式
一行,包含两个整数 x x x 和 y y y ,中间用单个空格隔开。 0 ≤ x < 2 32 , − 2 31 ≤ y < 2 31 0 \le x<2^{32}, -2^{31} \le y<2^{31} 0≤x<232,−231≤y<231 。
输出格式
一个字符。若 x > y x>y x>y,输出 >
;若 x = y x=y x=y ,输出 =
;若 x < y x<y x<y ,输出 <
;
样例 1
样例输入 1
1000 100
样例输出 1
>
参考源码:
x, y = map(int, input().split())
if x > y:print('>')
elif x < y:print('<')
else:print('=')
4. P5711:闰年判断
题目描述
输入一个年份,判断这一年是否是闰年,如果是输出 1 1 1,否则输出 0 0 0。
输入格式
输入一个正整数 n n n,表示年份。
输出格式
输出一行。如果输入的年份是闰年则输出 1 1 1,否则输出 0 0 0。
样例 1
样例输入 1
1926
样例输出 1
0
样例 2
样例输入 2
1900
样例输出 2
0
样例 3
样例输入 3
2000
样例输出 3
1
样例 4
样例输入 4
1996
样例输出 4
1
提示
数据保证, 1582 ≤ n ≤ 2020 1582 \leq n \leq 2020 1582≤n≤2020 且年份为自然数。
参考源码:
n = int(input())
if (n % 4 == 0 and n % 100 != 0) or (n % 400 == 0):print(1)
else:print(0)
5. P5714:肥胖问题
题目描述
BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m h 2 \dfrac{m}{h^2} h2m,其中 m m m 是指体重(千克), h h h 是指身高(米)。不同体型范围与判定结果如下:
- 小于 18.5 18.5 18.5:体重过轻,输出
Underweight
; - 大于等于 18.5 18.5 18.5 且小于 24 24 24:正常体重,输出
Normal
; - 大于等于 24 24 24:肥胖,不仅要输出 BMI 值(使用
cout
的默认精度),然后换行,还要输出Overweight
;
现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。
对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 0 0 0,不要输出后缀 0 0 0。
请注意,保留六位有效数字不是保留六位小数。例如 123.4567 123.4567 123.4567 应该输出为 123.457 123.457 123.457, 5432.10 5432.10 5432.10 应该输出为 5432.1 5432.1 5432.1。
输入格式
共一行。
第一行,共 2 2 2 个浮点数, m , h m, h m,h,分别表示体重(单位为 kg),身高(单位为 m)。
输出格式
输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight
情况的特别处理请参照题目所述。
样例 1
样例输入 1
70 1.72
样例输出 1
Normal
样例 2
样例输入 2
100 1.68
样例输出 2
35.4308
Overweight
提示
对于所有数据, 40 ≤ m ≤ 120 40\le m \le 120 40≤m≤120, 1.4 ≤ h ≤ 2.0 1.4 \le h \le 2.0 1.4≤h≤2.0。 m m m 和 h h h 的小数点后不超过三位。
参考源码:
m, h = map(float, input().split())
bmi = m / h**2
if bmi < 18.5:print("Underweight")
elif bmi < 24:print("Normal")
else:print(f"{bmi:.6g}\nOverweight")
6. B2043:判断能否被 3,5,7 整除
题目描述
给定一个整数 x x x,判断它能否被 3 3 3, 5 5 5, 7 7 7 整除,并输出以下信息:
1、能同时被 3 , 5 , 7 3,5,7 3,5,7 整除(直接输出 3 5 7
,每个数中间一个空格);
2、只能被其中两个数整除(按从小到大的顺序输出两个数,例如:3 5
或者 3 7
或者 5 7
,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符 n
。
输入格式
输入一行,包括一个整数 x x x。
输出格式
输出一行,按照描述要求给出整数被 3 3 3, 5 5 5, 7 7 7 整除的情况。
样例 1
样例输入 1
105
样例输出 1
3 5 7
提示
数据规模与约定
对于全部的测试点,保证 1 ≤ x ≤ 200 1 \leq x \leq 200 1≤x≤200。
参考源码:
x = int(input())
if x % 3 == 0:print('3', end=' ')
if x % 5 == 0:print('5', end=' ')
if x % 7 == 0:print('7', end=' ')
if x % 3 and x % 5 and x % 7:print('n')
7. B2047:分段函数
题目描述
编写程序,计算下列分段函数 y = f ( x ) y=f(x) y=f(x) 的值。
当 0 ≤ x < 5 0 \le x<5 0≤x<5 时, y = − x + 2.5 y=-x+2.5 y=−x+2.5。
当 5 ≤ x < 10 5 \le x<10 5≤x<10 时, y = 2 − 1.5 ( x − 3 ) ( x − 3 ) y=2-1.5(x-3)(x-3) y=2−1.5(x−3)(x−3)。
当 10 ≤ x < 20 10 \le x<20 10≤x<20 时, y = x / 2 − 1.5 y=x/2-1.5 y=x/2−1.5。
输入格式
一个浮点数 x x x。
输出格式
输出 x x x 对应的分段函数值: f ( x ) f(x) f(x)。结果保留到小数点后三位。
样例 1
样例输入 1
1.0
样例输出 1
1.500
提示
对于 100% 的数据 0 ≤ x < 20 0 \le x<20 0≤x<20
参考源码:
x = float(input())
if x >= 0:if x < 5:y = -x + 2.5elif x < 10:y = 2 - 1.5*(x-3)*(x-3)elif x < 20:y = x/2 - 1.5
print(f'{y:.3f}')
8. B2048:计算邮资
题目描述
请根据邮件的重量和用户选择是否加急计算邮费。计算规则:
- 重量在 1000 1000 1000 以内(包括),基本费 8 8 8 元;
- 超过 1000 1000 1000 克的部分,每 500 500 500 克加收超重费 4 4 4 元,不足 500 500 500 克部分按 500 500 500 克计算;
- 如果用户选择加急,多收 5 5 5 元。
输入格式
一行,包含一个正整数 x x x 和一个字符 c(y
或 n
),之间用一个空格隔开,分别表示重量和是否加急。
如果字符是 y
,说明选择加急;如果字符是 n
,说明不加急。
输出格式
输出一行一个正整数,表示邮费。
样例 1
样例输入 1
1200 y
样例输出 1
17
提示
对于100%数据 1 ≤ x ≤ 1 0 6 1\leq x\leq 10^6 1≤x≤106
参考源码:
x, c = input().split()
x = int(x)
postage = 8
if x > 1000:x -= 1000postage += ((x-1)//500+1) * 4 # 上取整方法:(n-1)//k+1
if c == 'y':postage += 5
print(postage)
这篇关于第4周 Python程序流程控制刷题(选择结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!