✏️ 习题
第 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) 将字符串
(2) 将浮点数
(3) 将整数
分别输出转换后的值和类型。
(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) 将数字
(2) 将小数
(3) 将字符串
(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
** 运算符计算一共需要多少粒麦子,并用科学计数法输出结果。提示:麦粒总数 = 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
将整数
(1) 使用
(2) 使用 f-string,格式为
(3) 使用
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)