✏️ 习题

第 1 章 · Python 语言介绍 · 共 12 题 · 由易到难

答案默认折叠,点击题目或右侧开关控制显示
展开所有答案
1
编写程序输出 "我爱Python!",并添加单行注释和多行注释说明这段代码的功能。
▶ 运行结果: 我爱Python!
参考答案
python
# 这是单行注释:使用 print() 函数输出文本
"""
这是多行注释(用三个引号包裹):
本程序的功能是向屏幕输出一行文字,
表达对 Python 的热爱之情。
"""
print("我爱Python!")
2
判断以下哪些是合法的 Python 标识符,并说明理由:
myName  2name  _age  for  $money
参考答案

myName —— 合法,字母开头,含大小写字母
2name —— 不合法,标识符不能以数字开头
_age —— 合法,以下划线开头
for —— 不合法,for 是 Python 关键字(保留字)
$money —— 不合法,$ 是特殊字符,标识符不能包含

3
创建三个变量分别存储你的姓名(字符串)、年龄(整数)和身高(浮点数),然后使用 type() 查看每个变量的类型并输出。
▶ 运行结果: 姓名: 小明 → 类型: <class 'str'> 年龄: 18 → 类型: <class 'int'> 身高: 1.75 → 类型: <class 'float'>
参考答案
python
name = "小明"
age = 18
height = 1.75

print("姓名:", name, "→ 类型:", type(name))
print("年龄:", age, "→ 类型:", type(age))
print("身高:", height, "→ 类型:", type(height))
4
分别用二进制、八进制、十六进制在 Python 中表示十进制数 100,并用 print() 输出每种表示的结果(输出应为十进制显示)。
▶ 运行结果: 十进制: 100 二进制: 100 八进制: 100 十六进制: 100 bin(100) = 0b1100100 oct(100) = 0o144 hex(100) = 0x64
参考答案
python
dec = 100
bin_val = 0b1100100    # 二进制
oct_val = 0o144         # 八进制
hex_val = 0x64          # 十六进制

print("十进制:", dec)
print("二进制:", bin_val)
print("八进制:", oct_val)
print("十六进制:", hex_val)

# 用 bin()、oct()、hex() 函数查看
print("bin(100) =", bin(100))   # 0b1100100
print("oct(100) =", oct(100))   # 0o144
print("hex(100) =", hex(100))   # 0x64
5
使用类型转换函数,完成以下操作:
(1) 将字符串 "456" 转为整数
(2) 将浮点数 3.14 转为整数
(3) 将整数 100 转为字符串
分别输出转换后的值和类型。
▶ 运行结果: int("456") = 456 → 类型: <class 'int'> int(3.14) = 3 → 类型: <class 'int'> str(100) = '100' → 类型: <class 'str'>
参考答案
python
# (1) 字符串 "456" 转为整数
s = "456"
num1 = int(s)
print("int(\"456\") =", num1, "→ 类型:", type(num1))

# (2) 浮点数 3.14 转为整数(截断小数部分)
f = 3.14
num2 = int(f)
print("int(3.14) =", num2, "→ 类型:", type(num2))

# (3) 整数 100 转为字符串
n = 100
s2 = str(n)
print("str(100) =", repr(s2), "→ 类型:", type(s2))
6
编写程序,计算并输出以下算式的结果:
123 + 456  100 - 25  8 * 9  100 / 3(保留 2 位小数)
每行输出一道算式及其结果。
▶ 运行结果: 123 + 456 = 579 100 - 25 = 75 8 * 9 = 72 100 / 3 = 33.33
参考答案
python
a = 123 + 456
b = 100 - 25
c = 8 * 9
d = 100 / 3

print(f"123 + 456 = {a}")
print(f"100 - 25  = {b}")
print(f"8 * 9     = {c}")
print(f"100 / 3   = {d:.2f}")
7
编写程序,使用 input() 分别接收用户输入的姓名年龄,然后用 f-string 格式化输出:"你好,XXX,你今年 XX 岁,明年你就 XX 岁了"
📝 样例输入: 小明 18
▶ 运行结果: 请输入你的姓名:小明 请输入你的年龄:18 你好,小明,你今年 18 岁,明年你就 19 岁了
参考答案
python
name = input("请输入你的姓名:")
age = int(input("请输入你的年龄:"))

print(f"你好,{name},你今年 {age} 岁,明年你就 {age + 1} 岁了")
8
三种方式(% 格式化、f-string、format() 方法)分别格式化输出你的姓名年龄。格式为:"我叫XXX,今年XX岁"
▶ 运行结果: 我叫小明,今年18岁 我叫小明,今年18岁 我叫小明,今年18岁
参考答案
python
name = "小明"
age = 18

# 方式一:% 格式化
print("我叫%s,今年%d岁" % (name, age))

# 方式二:f-string(推荐)
print(f"我叫{name},今年{age}岁")

# 方式三:format() 方法
print("我叫{},今年{}岁".format(name, age))
9
使用 f-string 格式化输出以下内容:
(1) 将数字 1000000000 以千分位分隔符(逗号)格式输出
(2) 将小数 0.758 以百分比形式输出,保留 2 位小数
(3) 将字符串 "Python" 分别左对齐、右对齐、居中对齐,总宽度 10
▶ 运行结果: 1,000,000,000 75.80% Python Python Python
参考答案
python
result = 1000000000
print(f'{result:,}')

rate = 0.758
print(f"{rate:.2%}")

text = "Python"
print(f"{text:<10}")
print(f"{text:>10}")
print(f"{text:^10}")
10
国际象棋棋盘有 64 格,第 1 格放 1 粒麦子,第 2 格放 2 粒,第 3 格放 4 粒,依次类推,每一格的麦粒数是前一格的两倍。请使用 ** 运算符计算一共需要多少粒麦子,并用科学计数法输出结果。
提示:麦粒总数 = 20 + 21 + ... + 263 = 264 - 1
▶ 运行结果: 一共需要 18446744073709551615 粒麦子 科学计数法:1.844674e+19
参考答案
python
total = 2 ** 64 - 1
print(f"一共需要 {total} 粒麦子")
print(f"科学计数法:{total:e}")
11
使用 len() 函数分别求出字符串 'hello''世界' 的长度,并输出结果。
▶ 运行结果: 5 2
参考答案
python
s1 = 'hello'
s2 = '世界'
print(len(s1))
print(len(s2))
12
将整数 10 分别用以下三种方式输出为二进制:
(1) 使用 format() 方法,格式为 '{0:b}'
(2) 使用 f-string,格式为 f'{num:b}'
(3) 使用 bin() 函数,并通过切片 [2:] 去掉 0b 前缀
▶ 运行结果: 1010 1010 1010
参考答案
python
num = 10
print('{0:b}'.format(num))
print(f'{num:b}')
binary_str = bin(num)[2:]
print(binary_str)