选择结构(分支)
选择结构(分支)
了解程序的选择结构(知识块称分支)。
知识点出处:详述(7);知识块5|CCF 编程能力等级认证 C++&Python 认证标准(CCF编程能力等级认证标准_C++ & Python_一至八级)(https://gesp.ccf.org.cn/101/1008/10012.html)
本知识点的讲解文案待补(Track D3)。以下为该知识点下的历年真题。
下面的Python代码用于求M天后是星期几,横线处应填入的代码是( )。
N = int(input("当前星期几?")) #星期日是0
M = int(input("求多少天后?")) #输入正整数
D = __________________
if ______________:
print(f"{M}后是星期日")
else:
print(f"{M}后是星期{D}")
假期阅读
Python时间 1 s内存 512 MB标准输入输出
小 A 有一本厚厚的书。这本书总共有 n 页,小 A 一天中最多只能阅读完其中的 k 页。小 A 的假期总共有 t 天,他想知道在假期中最多能阅读完这本书的多少页。
输入格式
第一行,一个正整数 n,表示书的页数。
第二行,一个正整数 k,表示小 A 每天最多阅读的页数。
第三行,一个正整数 t,表示小 A 假期的天数。
输出格式
一行,一个整数,表示假期中所能阅读的最多页数。
样例
8 3 2
6
样例 1:k×t=3×2=6,书共 8 页,最多读 6 页。
19 3 30
19
样例 2:k×t=90,书共 19 页,最多读 19 页。
数据范围
对于所有测试点,保证 n,k,t 均不超过 1000。
你的代码(Python)
提交后由评测机编译运行,结果见下方58 B / 64 KB
判题结果
商店折扣
Python时间 1 s内存 512 MB标准输入输出
商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 x 元减 y 元;第二种方案是直接打 n 折,也就是说价格变为原先的 n/10。这里的 x、y、n 均是正整数,并且 1≤y<x,1≤n<10。
小明在商店挑选了价格总和为 p 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?
输入格式
四行,四个正整数 x、y、n、p,含义见题目描述。
输出格式
一行,一个浮点数,表示小明最少需要支付多少钱,保留两位小数。
样例
8 7 9 10
3.00
8 7 2 11
2.20
数据范围
对于所有测试点,保证 1≤y<x≤100,1≤n<10,1≤p≤100。
你的代码(Python)
提交后由评测机编译运行,结果见下方58 B / 64 KB
判题结果
两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的Python代码用于实现该操作,横线处应该填写的代码是( )。
N = int(input())
M = int(input())
while N != M:
if N > M:
_______________
else:
_______________
print(N)
小杨的爱心快递
Python时间 1 s内存 512 MB标准输入输出
小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:
假设快递的体积为 V,重量为 G。
- 按体积计算:运费按体积计算,公式是 0.5×V 元。
- 按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即 G<300 时,运费为 M 元;当重量达到或超过 300 克,即 G≥300 时,运费为 N 元。
快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”
所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。
输入格式
四行,每行一个一位小数的浮点数,分别代表,快递的体积 V,快递的重量 G,第一档重量运费 M,第二档重量运费 N。
输出格式
一行一个一位小数,代表实际快递运费。
样例
100.4 300.2 60.6 70.5
50.2
对于样例 1:快递体积 V 为 100.4,重量 G 为 300.2,第一档重量运费 M 为 60.6,第二档重量运费 N 为 70.5。
- 若按体积收费,费用为 0.5×100.4=50.2;
- 若按重量收费,由于重量 G=300.2 超过 300,费用为 70.5。
输出价格较低的 50.2。
99.8 200.9 60.2 70.1
49.9
对于样例 2:快递体积 V 为 99.8,重量 G 为 200.9,第一档重量运费 M 为 60.2,第二档重量运费 N 为 70.1。
- 若按体积收费,费用为 0.5×99.8=49.9;
- 若按重量收费,由于重量 G=200.9 小于 300,费用为 60.2。
输出价格较低的 49.9。
数据范围
对于所有测试点,保证给出的浮点数不超过 1000。
你的代码(Python)
提交后由评测机编译运行,结果见下方58 B / 64 KB
判题结果
手机电量显示
Python时间 1 s内存 512 MB标准输入输出
小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为 P:
- 当电量非常低(不超过 10,即 P≤10),它会显示一个大写字母 R,就像在说:“快给我充电吧!(Red警告色)”
- 当电量有点低(超过 10 但不超过 20,即 10<P≤20),它会显示一个大写字母 L,意思是“电量有点Low啦!”
- 当电量比较充足(超过 20,即 P>20),它就会直接显示具体的数字,比如直接显示 50,表示还有 50 的电量。
输入格式
第一行一个正整数 T,代表数据组数。
对于每组数据,一行包含一个正整数 P,代表手机电量百分比。
输出格式
对于每组数据,输出一行,代表当前手机显示的电量信息。
样例
5 10 1 20 99 19
R R L 99 L
输入样例 1 共有五组数据:
- 第一组数据手机电量 P=10,满足 P≤10,电量非常低,显示 R 。
- 第二组数据手机电量 P=1,满足 P≤10,电量非常低,显示 R 。
- 第三组数据手机电量 P=20,满足 10<P≤20,电量有点低,显示 L 。
- 第四组数据手机电量 P=99,满足 P>20,电量比较充足,直接显示具体的数字 99 。
- 第五组数据手机电量 P=19,满足 10<P≤20,电量有点低,显示 L 。
数据范围
对于所有测试点,保证 1≤T≤20,1≤P≤100。
你的代码(Python)
提交后由评测机编译运行,结果见下方58 B / 64 KB
判题结果
下面Python代码执行时,其说法正确的是( )。
N = int(input())
M = int(input())
if N > M:
print(N - M)
else:
print(M - N)
Python编程求数列 -1+2+3-4+5+6-7+8+9-10+11+12-13+...... 之值。如输入4,则计算1到4包含1和4之间的值,规律如数列所示。下面说法,正确的是( )。
N = int(input("请输入正整数:"))
tnt = 0
for i in range(1, N + 1):
if i % 3 == 1:
tnt += -i
else:
tnt += i
print(tnt)
原文保真说明:原卷印刷错误 1 处(照原卷保留,未作修改)
原卷印刷如此错字选项 1
原卷作
应该修为,常规写法应为应该修改为原卷选项 A 印作「应该修为」,同题选项 B 印作「应修改为」、第 13 题选项 A 同样印「应该修为」(文本层与第 3 页 600 dpi 裁图 crops/p03-q09-opts-3.png 一致),照原卷转写。
交朋友
Python时间 1 s内存 512 MB标准输入输出
Alice 班上共有 4 个小朋友,身高分别为 H1,H2,H3,H4,其中 Alice 的身高为 H1。
Alice 想要和身高最接近她的人交朋友,如果有多个人符合条件,则 Alice 想和其中较矮的那一人做朋友,你能告诉她这个人的身高是多少吗?
输入格式
输入共 4 行,第 i 行包含一个整数 Hi,表示班上小朋友的身高。
输出格式
输出 1 行,包含一个整数 h,表示 Alice 想交的朋友的身高。
样例
150 165 135 133
135
样例 1 中,Alice 身高为 150,第 2、3 个小朋友与 Alice 身高差距为 15,同样最接近,Alice 选较矮的一个即第 3 个身高为 135 的小朋友交朋友。
数据范围
保证 100≤Hi≤199 且 Hi 互不相同。
你的代码(Python)
提交后由评测机编译运行,结果见下方58 B / 64 KB