Appearance
💬 输入与输出
一、输入函数:input()
1. 语法
python
age = input() # 从键盘获取字符串存储到 age 中
name = input("请输入你的名字:") # 带提示的输入input():提示用户输入,返回字符串类型。- 如果需要数字:
int()→ 转整数float()→ 转浮点数
2. 示例
python
age = int(input("请输入你的年龄:"))
height = float(input("请输入你的身高(米):"))上述程序将提示用户输入年龄,并在把年龄存放到变量age中,接着继续提示用户输入身高(米),并把身高存放到 height中。
二、输出函数 print()
1. 基本用法
python
print("你好,Python!")- 默认换行
- 多个内容用逗号隔开:
python
print("姓名:", "张三")如果不需要换行,则可以修改print的 end 参数:
python
print("你好,Python!",end = " ")把 end 参数修改为一个字符(空格),这输出"你好,Python!"后不会换行,而是输出一个空格。默认的 end 值为 '\n',它表示换行,其中 '\'为转义符,所以后面的n就不再是字符n的意思,类似的还有'\t',它表示一个Tab制表符。
print函数还可以输出变量,或者是表达式:
python
a = 10
print(a)
print("a的平方是:",a**2)默认的情况下,print 对多个输出是用空格分开的,可以通过修改参数进行指定要使用的分隔符号:
python
print("苹果", "香蕉", "橙子", sep=", ")Python 还是使用 """进行多行的输出:
py
print("""
第一行
第二行
第三行
""")三、字符串格式化方式
| 方式 | 示例 | 备注 |
|---|---|---|
% 占位符 | "名字:%s 年龄:%d" % (a, b) | 传统写法 |
str.format() | "名字:{} 年龄:{}".format(a, b) | 兼容性好 |
| f-string | f"名字:{a} 年龄:{b}" | 推荐,简单直接 |
%s 和 %d 详情参考后文
1. % 占位符
这种格式化方式是 Python 中较早期的方式,类似于 C 语言中的格式化输出。它通过 % 符号来指定占位符,表示要插入变量的位置。
基本用法:
python
name = "张三"
age = 12
height = 1.56
print("名字:%s 年龄:%d 身高:%.2f米" % (name, age, height))%s:用于字符串格式化。%d:用于整数格式化。%.2f:用于浮点数格式化,保留两位小数。
输出结果:
名字:张三 年龄:12 身高:1.56米2. str.format()
str.format() 方法是 Python 2.7 版本引入的,提供了更灵活的格式化功能。它通过 {} 占位符来指定插入的位置,并且支持位置和关键字参数。
基本用法:
python
name = "张三"
age = 12
height = 1.56
print("名字:{} 年龄:{} 身高:{:.2f}米".format(name, age, height)){}:占位符,用来插入变量。{:.2f}:保留两位小数。
输出结果:
名字:张三 年龄:12 身高:1.56米更多用法:
- 你也可以通过位置参数或关键字参数来控制格式化。
python
# 使用位置参数
print("名字:{0} 年龄:{1} 身高:{2:.2f}".format(name, age, height))
# 使用关键字参数
print("名字:{name} 年龄:{age} 身高:{height:.2f}".format(name=name, age=age, height=height))3. f-string(推荐)
f-string 是 Python 3.6 版本引入的字符串格式化方法,它是最简洁和最直观的格式化方式。通过在字符串前加 f,你可以直接在字符串内插入变量,并且可以对数值进行格式化操作。
基本用法:
python
name = "张三"
age = 12
height = 1.56
print(f"名字:{name} 年龄:{age} 身高:{height:.2f}米")f"{name}":直接插入变量。{height:.2f}:保留两位小数。
输出结果:
名字:张三 年龄:12 身高:1.56米更多用法:
- 你可以在 f-string 中进行复杂的运算和格式化:
python
# 表达式支持
price = 99.99
discount = 0.1
print(f"原价:{price},折扣后价格:{price * (1 - discount):.2f}")print 格式符大全
1. % 占位符表
| 格式符 | 说明 | 示例 | 输出 |
|---|---|---|---|
| %d | 十进制整数 | print("%d" % 255) | 255 |
| %o | 八进制整数 | print("%o" % 255) | 377 |
| %x | 十六进制小写 | print("%x" % 255) | ff |
| %X | 十六进制大写 | print("%X" % 255) | FF |
| %f | 浮点数,默认6位 | print("%.2f" % 3.1415926) | 3.14 |
| %s | 字符串 | print("%s" % "Hello") | Hello |
| %c | 单个字符 | print("%c" % 65) | A |
2. format() / f-string 格式符
| 格式符 | 说明 | 示例 | 输出 |
|---|---|---|---|
| {:d} | 十进制 | f"{255:d}" | 255 |
| {:b} | 二进制 | f"{255:b}" | 11111111 |
{:o} | 八进制 | f"{255:o}" | 377 |
| {:x} | 十六进制小写 | f"{255:x}" | ff |
| {:X} | 十六进制大写 | f"{255:X}" | FF |
| {:.2f} | 浮点数保留2位小数 | f"{3.1415:.2f}" | 3.14 |
3. 格式控制:对齐、宽度
| 功能 | 写法示例 | 效果示例 |
|---|---|---|
| 保留 2 位小数 | {:.2f} | 3.14 |
| 右对齐,宽 10 | {:>10} | " 张三" |
| 左对齐,宽 10 | {:<10} | "张三 " |
| 居中,宽 10 | {:^10} | " 张三 " |
| 宽 8,前补 0 | {:0>8} | "00001234" |
四、示例
1. 进制格式化
python
number = 255
print("十进制:%d" % number)
print("八进制:%o" % number)
print("十六进制:%x" % number)
print(f"十进制:{number:d}")
print(f"二进制:{number:b}")
print(f"八进制:{number:o}")
print(f"十六进制:{number:X}")2. 对齐与小数保留
python
print(f"{'姓名':<10}{'年龄':>5}{'身高':>8}")
print(f"{'张三':<10}{12:>5}{1.56:>8.2f}")
print(f"{'李四':<10}{9:>5}{1.23:>8.2f}")输出:
姓名 年龄 身高
张三 12 1.56
李四 9 1.23五、练习
1. 单个输入输出
- 输入并输出姓名:
- 编写一个程序,提示用户输入他们的姓名,并打印输出:
"你好,[姓名]!"
- 编写一个程序,提示用户输入他们的姓名,并打印输出:
- 输入并输出年龄:
- 编写一个程序,提示用户输入他们的年龄,并输出:
"你今年 [年龄] 岁。"
- 编写一个程序,提示用户输入他们的年龄,并输出:
- 输入并输出身高:
- 编写一个程序,提示用户输入他们的身高(单位:米),并输出:
"你的身高是 [身高] 米。"
- 编写一个程序,提示用户输入他们的身高(单位:米),并输出:
2. 输入并输出多个信息
- 输入姓名和年龄:
- 编写一个程序,提示用户输入姓名和年龄,并输出:
"姓名:[姓名],年龄:[年龄] 岁。"
- 编写一个程序,提示用户输入姓名和年龄,并输出:
- 输入姓名和身高:
- 编写一个程序,提示用户输入姓名和身高(单位:米),并输出:
"[姓名],你的身高是 [身高] 米。"
- 编写一个程序,提示用户输入姓名和身高(单位:米),并输出:
- 输入身高和体重:
- 编写一个程序,提示用户输入身高和体重,并输出:
"身高:[身高] 米,体重:[体重] 千克。"
- 编写一个程序,提示用户输入身高和体重,并输出:
3. 基本的格式化输出
- 使用 f-string 格式化输出:
- 编写一个程序,输入一个数字,输出:
"你输入的数字是:[数字]"。
- 编写一个程序,输入一个数字,输出:
- 输入两个数并计算它们的和:
- 编写一个程序,输入两个数并输出它们的和:
"输入的数字是:[数字1] 和 [数字2],它们的和是:[结果]"。
- 编写一个程序,输入两个数并输出它们的和:
- 输入两个数并输出它们的差:
- 编写一个程序,输入两个数并输出它们的差:
"输入的数字是:[数字1] 和 [数字2],它们的差是:[结果]"。
- 编写一个程序,输入两个数并输出它们的差:
- 输入姓名、年龄、身高,输出完整信息:
- 编写一个程序,输入姓名、年龄和身高,输出:
"姓名:[姓名],年龄:[年龄],身高:[身高] 米。"
4. 格式化数字输出
- 输出浮点数(保留两位小数):
- 编写一个程序,输入一个浮点数,输出:
"你输入的数字是:[数字],保留两位小数后为:[保留两位小数的结果]"。
- 输出一个浮点数的四舍五入结果:
- 编写一个程序,输入一个浮点数,输出:
"你输入的浮点数是:[浮点数],四舍五入到整数:[结果]"。
- 输出一个圆的面积(π * r^2):
- 编写一个程序,输入圆的半径,输出:
"半径:[半径],圆的面积为:[面积]",保留两位小数。
5. 多个输入输出格式化
- 输入两个数并格式化输出其和、差和积:
- 编写一个程序,输入两个数,输出它们的和、差和积,格式化输出:
"和:[和],差:[差],积:[积]"。
- 输入多个数字并计算平均值:
- 编写一个程序,输入多个数字,计算并输出它们的平均值,格式化输出保留两位小数:
"数字的平均值是:[平均值]"。
- 输入姓名、性别、年龄,输出格式化信息:
- 编写一个程序,输入姓名、性别、年龄,输出:
"姓名:[姓名],性别:[性别],年龄:[年龄]岁。", 性别用男或女。
6. 复杂的格式化输出
- xxxxxxxxxx20 1import turtle2t = turtle.Turtle()3t.pencolor("red")4# 光线5for _ in range(12):6 t.penup()7 t.goto(0, 0)8 t.pendown()9 t.forward(70)10 t.backward(70)11 t.right(30)12# 太阳主体13t.penup()14t.goto(0, -50)15t.pendown()16t.fillcolor("yellow")17t.begin_fill()18t.circle(50)19t.end_fill()20turtle.done()python
- 编写一个程序,输入多个学生的姓名和成绩,并以表格形式输出,表头为
姓名 | 成绩,每个学生一行,输出格式如: 姓名 | 成绩 张三 | 98 李四 | 92
- 格式化输出多个数字的指数形式:
- 编写一个程序,输入一个数字,输出它们的指数形式(如 10^2)并且保留两位小数(提示:格式输出为{:.2e}):
"数字:[数字],它的指数形式是:[结果]"
- 输入一个浮点数并按指定宽度和对齐方式输出:
- 编写一个程序,输入一个浮点数,按照宽度为 10 的格式输出,且输出时小数点后保留两位,右对齐:
"浮点数:[浮点数]"
- 输入一个数字,输出带有货币符号的格式:
- 编写一个程序,输入一个数字,输出该数字的货币格式,保留两位小数并加上
$:"金额:[货币符号][数字]"