---
title: Python 选择结构习题集
author: 萑澈
pubDatetime: 2026-05-30T00:00:00Z
featured: false
draft: false
printable: true
tags:
  - Python
  - 中考
  - 信息技术
description: Python 选择结构（if/elif/else）编程填空题汇总（含答案），共 39 题，涵盖基础判断、取余判断、比较运算符、逻辑运算符、闰年判断、最大最小值、成绩等级判定、登录验证、阶梯收费、游戏逻辑等题型。
---

## 基础判断

#### 题目 1

从键盘任意输入两个整数，如果二个数相同计算两数和，否则计算两数差，并输出：

```python
a=int(input("请输入数值1："))
b=int(input("请输入数值2："))
if  a==b:
    c=a+b
① :
    c=a②
print(c)
```

<details data-answer>
<summary>答案</summary>

① `else`　② `-b`

</details>

#### 题目 2

筛选不合格的零部件。根据输入的直径判断部件是否合格。标准：直径在 99.99\~100.01 毫米之间（包括边界）为合格：

```python
d=float( ① ("请输入精密零部件的直径："))
if d>=99.99  ② d<=100.01:
    print("该精密部件为：合格")
else:
    print("该精密部件为：不合格")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `and`

</details>

#### 题目 3

英语成绩等级，A 级为 90 分以上（含 90 分），B 级为 80\~90 分，C 级为 70\~80 分，D 级为 60\~70 分，E 级为 60 分以下：

```python
a=int(①("请输入英语成绩："))
if a>=90:
    print("A")
② a>=80:
    print("B")
elif a>=70:
    print("C")
elif a>=60:
    print("D")
else:
    print("E")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `elif`

</details>

#### 题目 4

根据小丽的分数评定奖项（一等奖≥90，二等奖≥80，三等奖≥60）：

```python
score = int(input("请输入小丽的分数："))
if score ①90:
    print("恭喜你获得一等奖！")
elif score >= 80:
    print("恭喜你获得二等奖！")
elif score >= 60:
    print("恭喜你获得三等奖！")
②:
     print("请努力学习，争取下次获奖！")
```

<details data-answer>
<summary>答案</summary>

① `>=`　② `else`

</details>

#### 题目 5

输入学生的 BMI 指数，<18.5 输出“消瘦”，18.5\~23.9 输出“正常”，≥24 输出“超重”：

```python
zs=float(①("请输入你的BMI指数："))
if   zs<18.5:
    print("你的体质为：消瘦")
elif zs<=23.9:
    print("你的体质为：正常")
②:
    print("你的体质为：超重")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `else`

</details>

#### 题目 6

输入天气温度，选择不同的交通工具上学（15℃及以下公交车，30℃及以下骑自行车，40℃及以下私家车，40℃以上在家休息）：

```python
wd=float(①("请输入今天天气温度："))
if wd<=15:
    print("乘坐公交车")
elif wd<=30:
    print("骑自行车")
elif wd<=40:
    print("乘坐私家车")
② :
    print("在家休息")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `else`

</details>

#### 题目 7

x>3 时 y=2x，否则 y=3x+1：

```python
x=int(input())
if ①:
    y=2*x
②:
    y=3*x+1
print(y)
```

<details data-answer>
<summary>答案</summary>

① `x>3`　② `else`

</details>

#### 题目 8

补全程序，判断密码是否正确：

```python
n = ①("请输入密码：")
if n == "123asd":
    print("密码正确")
②:
    print("密码不正确")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `else`

</details>

#### 题目 9

每年 3 月 5 日为学雷锋活动纪念日，输入日期，输出回答正误：

```python
day = "3月5日"
rq = input("请输入日期（X月X日）：")
if rq ① day:
    print("回答正确")
②:
    print("对不起答错了！再想想！")
```

<details data-answer>
<summary>答案</summary>

① `==`　② `else`

</details>

#### 题目 10

输入两个数值，如果两个数相等，则计算两个数的乘积，如果不相等，则计算两个数的和：

```python
a = int(input("请输入a的值："))
b = int(input("请输入b的值："))
if a ① b:
    c = a * b
else:
    c = a + b
②(c)
```

<details data-answer>
<summary>答案</summary>

① `==`　② `print`

</details>

#### 题目 11

一位整数数字解密，加密数字是 m，解密后变成 n。解密规则：0→1、1→2、…、8→9、9→0：

```python
m = int(input("请输入需要解密的一位整数："))  # 数字范围 0~9
① m == 9:
    n = 0            # 数字9的解密
else:
    n = m + 1        # 数字 0~8 解密后增加1
print(②)            # 输出解密数字
```

<details data-answer>
<summary>答案</summary>

① `if`　② `n`

</details>

#### 题目 12

输入用户名和密码并进行验证：

```python
name=input("请输入用户名：")
passwd= ① ("请输入密码：")
②  name=="admin" and passwd=="#T123":
    print("信息正确")
else:
    print("信息不正确")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `if`

</details>

#### 题目 13

闯关游戏，r 为 0 时闯关成功，否则继续努力：

```python
n = int(input("输入已闯关数"))
r = int(input("输入r的值"))
if r == 0:
    print("闯关成功")
①:
    m ②                # 将 n 赋值给 m
    print("继续努力", m)
```

<details data-answer>
<summary>答案</summary>

① `else`　② `=n`

</details>

## 多个分支（if-elif-else）

#### 题目 14

某路段限行 40 公里，如果超过 60 公里将被认定超速同时被罚款：

```python
x = int(①("请输入速度："))
if x <= 40:
    print('该路段限速40，请注意慢行！')
elif 40 < x < 60:
    print("你已超速请慢行！")
②:
    print('你已超速，将被记录并罚款！')
```

<details data-answer>
<summary>答案</summary>

① `input`　② `else`

</details>

#### 题目 15

判断一个数是正数、负数还是零：

```python
a = ①(input("请输入一个数a："))
if a > 0:
    print("a是一个正数")
elif a < 0:
    print("a是一个负数")
②:
    print("a等于0")
```

<details data-answer>
<summary>答案</summary>

① `float`（或 `int`）　② `else`

</details>

#### 题目 16

根据成绩输出等级（优秀/合格/不合格）：

```python
x = int(①('输入成绩：'))
if x >= 85:
    ②("优秀")
elif x >= 60:
    print("合格")
③:
    print("不合格")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `print`　③ `else`

</details>

#### 题目 17

输入 x 和 y，比较大小并输出结果：

```python
x = int(input("请输入x的值："))
y = ①(input("请输入y的值："))
② x > y:
    print(x, "大于", y)
elif x < y:
    print(x, "小于", y)
③:
    print(x, "等于", y)
```

<details data-answer>
<summary>答案</summary>

① `int`　② `if`　③ `else`

</details>

#### 题目 18

根据体温判断健康状况：

```python
tw = float(①("请输入你的体温："))
if tw >= 37.3:
    print("你的体温过高")
② tw < 35:
    print("你的体温过低")
else:
    print("你的体温正常")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `elif`

</details>

#### 题目 19

某电信公司推出新套餐，流量超过 100G 给出降速提醒，超过 200G 提醒购买：

```python
x = int(input("x="))
if x >= 200:
    print("您的流量不足,请及时购买!")
① 200 > x >= 100:
    print("您的流量将会降速，请谨慎使用!")
②:
    print("您流量充足请放心使用！")
```

<details data-answer>
<summary>答案</summary>

① `elif`　② `else`

</details>

#### 题目 20

出租车计价器：行驶 3 公里以内收费 8 元，3\~6 公里每公里 1.5 元，6 公里以上每公里 2.25 元：

```python
s = eval(①('请输入出租车行驶的公里数:'))
if s <= 3:
    p = 8
② 3 < s <= 6:
    p = 8 + 1.5 * (s - 3)
③:
    p = 2.25 * (s - 6) + 1.5 * 3 + 8
print(p)
```

<details data-answer>
<summary>答案</summary>

① `input`　② `elif`　③ `else`

</details>

#### 题目 21

口语测试成绩评价程序：

```python
g = int(input('please input score:'))
if ①:             # 分数大于等于 90 分时输出 Great
    print('Great')
elif g >= 60 and g < 90:
    print('Good')
②:
    print('Bad')
```

<details data-answer>
<summary>答案</summary>

① `g>=90`　② `else`

</details>

#### 题目 22

高速公路限速 110 公里/小时，超速 10% 以内警告，超速 10% 以上罚款：

```python
x = int(input("请输入速度："))
if x <= 110:
    print("该路段限速110，请注意安全驾驶！")
① 110 < x < 121:
    print("你已超速请慢行！")
else:
    print("你时速是", ②, "已超速，将被记录并罚款！")
```

<details data-answer>
<summary>答案</summary>

① `elif`　② `x`

</details>

#### 题目 23

根据购买数量计算单价（阶梯定价）：

```python
n = int(input("请输入购买的数量："))
if n < 30:
    m = 2.0
elif n < 50:
    m = 1.8
① n < 100:
    m = 1.6
else:
    m = 1.5
print("请付款", ② * n, "元。")
```

<details data-answer>
<summary>答案</summary>

① `elif`　② `m`

</details>

#### 题目 24

输入三个数值，从中选出最大值并输出结果：

```python
a = int(input("请输入第一个数值："))
b = int(input("请输入第二个数值："))
c = int(input("请输入第三个数值："))
if a ① b:
    s = a
else:
    s = b

if s ② c:
    s = c
③("最大值为：", s)
```

<details data-answer>
<summary>答案</summary>

① `>`　② `<`　③ `print`

</details>

#### 题目 25

猜年龄：小迪是一个小学生，请输入 6 到 12 之间的随机数，程序会告诉玩家猜测是太高还是太低（答案是 9）：

```python
a=int(input("小迪的年龄是："))
if a==9:
    print("猜对了")
elif a①9:
    print("猜高了")
②:
    print("猜低了")
```

<details data-answer>
<summary>答案</summary>

① `>`　② `else`

</details>

## 取余判断（奇偶/整除）

#### 题目 26

输入一个三位数，判断其十位上的数字是否为偶数：

```python
n = int(input("请输入一个三位数："))
s = n // 10
①  s ② 2 == 0:
    print("该数十位上的数字是偶数")
else:
    print("该数十位上的数字是奇数")
```

<details data-answer>
<summary>答案</summary>

① `if`　② `%`

</details>

#### 题目 27

统计小组数量（有余数时加一组）：

```python
s = int(input("总人数为："))
x = ①(input("每组人数为："))
if s % x == 0:
    a = s // x
else:
    a = s // x + 1
print("可以分的小组数量为：", ②)
```

<details data-answer>
<summary>答案</summary>

① `int`　② `a`

</details>

#### 题目 28

某个城市为了避免拥堵，采取车辆分单双号限行：

```python
x=①(input("请输入最后一位车牌号："))
if  x②2==0:
    print("双号今天限行")
else:
    print("单号正常通行")
```

<details data-answer>
<summary>答案</summary>

① `int`　② `%`

</details>

## 比较运算符

#### 题目 29

计算并输出整数的绝对值，请补全程序：

```python
a = ①(input('请输入一个整数：'))
if a <= 0:
    print(-a)
②:
    print(a)
```

<details data-answer>
<summary>答案</summary>

① `int`　② `else`

</details>

#### 题目 30

输入两个不同的整数，输出较大值：

```python
a = int(input('请输入a的数值：'))
b = int(①('请输入b的数值：'))
if a ② b:
    print("最大的数是：", a)
else:
    print("最大的数是：", ③)
```

<details data-answer>
<summary>答案</summary>

① `input`　② `>`　③ `b`

</details>

#### 题目 31

从键盘输入一个正整数，判断是否为奇数，如果是输出“Yes”，否则输出“No”：

```python
a = int(①("请输入一个正整数："))
if a % 2 ② 0:
    print("Yes")
else:
    print("No")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `!=`

</details>

## 逻辑运算符

#### 题目 32

补全程序，判断用户名和密码是否正确：

```python
name = input("请输入用户名：")
passwd = input("请输入密码：")
① name == "admin" ② passwd == "123":
    print("密码正确")
else:
    print("密码不正确")
```

<details data-answer>
<summary>答案</summary>

① `if`　② `and`

</details>

#### 题目 33

判断一个整数能不能同时被 3 和 7 整除：

```python
n = int(①('请输入一个整数：'))
if n % 3 == 0 ② n % 7 == 0:
    print("yes")
else:
    print("no")
```

<details data-answer>
<summary>答案</summary>

① `input`　② `and`

</details>

#### 题目 34

从键盘上输入一个整数，判断这个数是否为 7 的倍数，或者末尾含有 7 的数：

```python
a = int(input("请输入一个整数："))
if a % 7 == 0 ① a % 10 == 7:
    print("Yes")
else:
    ②("No")
```

<details data-answer>
<summary>答案</summary>

① `or`　② `print`

</details>

## 最大最小值

#### 题目 35

求三个数中的最小值，用变量 zx 记录最小值：

```python
x = 108
y = 55
z = 99
if x < y:           # 判断 x 是否小于 y
    if x ① z:      # 如果 x 小于 z
        zx = x      # x 最小赋给 zx
    else:
        zx = z
②:
    if y < z:
        zx = y
    else:
        zx = z      # z 最小赋给 zx
print("最小值为", zx)
```

<details data-answer>
<summary>答案</summary>

① `<`　② `else`

</details>

#### 题目 36

求三个数中的最大值，用变量 zd 记录最大值：

```python
x = 108
y = 55
z = 99
if x > y:           # 判断 x 是否大于 y
    if x ① z:      # 如果 x 大于 z
        zd = x
    else:
        zd = z      # z 最大赋给 zd
else:
    if y > z:
        zd = y
    else:
        zd = z      # z 最大赋给 zd
②("最大值为", zd)
```

<details data-answer>
<summary>答案</summary>

① `>`　② `print`

</details>

#### 题目 37

从键盘输入二个不同的整数，并输出较大值：

```python
a=int(input("请输入第一个整数："))
b=int(input("请输入第二个整数："))
if   a①b :
    print(b)
② :
    print(a)
```

<details data-answer>
<summary>答案</summary>

① `<`　② `else`

</details>

## 闰年判断

#### 题目 38

判断是否为闰年（四年一闰，百年不闰，四百年再闰）：

```python
year = ①(input("请输入4位整数年份: "))
if (year % 4 == 0 and year % 100 != 0) ② (year % 400 == 0):
    print(year, "是闰年")
else:
    print(year, "不是闰年")
```

<details data-answer>
<summary>答案</summary>

① `int`　② `or`

</details>

## 阶梯收费

#### 题目 39

小明去冷饮店买冰淇淋，10 个以上或 10 个 3 元/个，10 个以下 4 元/个：

```python
a=int(input("请输入冰淇淋的个数："))
① a>=10:
    q=3*a
else:
    q=②
print("应付金额（元）为：",q)
```

<details data-answer>
<summary>答案</summary>

① `if`　② `4*a`

</details>

