知识点概述
input(), f-string, 类型转换
学习如何与用户交互,获取输入并格式化输出,这是编写实用程序的基础。
详细讲解
输入函数 input()
input() 函数用于从用户获取输入,它会等待用户输入并按回车键结束。
input() 函数特点:
- 基本用法:
name = input("请输入姓名: ") - input() 总是返回字符串类型
- 可以通过提示信息告诉用户需要输入什么
- 输入的值可以赋给变量供后续使用
- 可以获取多个输入,用split()方法分隔
f-string 格式化:
f-string 是Python 3.6引入的字符串格式化方法,简洁高效。
- 基本语法:
f"姓名: {name}, 年龄: {age}" - 在大括号中执行表达式:
f"总和: {a + b}" - 支持格式化数字:
f"价格: {price:.2f}"- 保留两位小数f"百分比: {ratio:.1%}"- 百分比格式f"数字: {num:10d}"- 宽度为10的整数
- 可以对表达式调用方法:
f"姓名: {name.upper()}"
类型转换:
由于input()返回字符串,有时需要转换为其他类型:
int():转换为整数float():转换为浮点数str():转换为字符串bool():转换为布尔值list():转换为列表
其他输出方法:
- format() 方法:
"姓名: {}, 年龄: {}".format(name, age) - 旧式格式化:
"姓名: %s, 年龄: %d" % (name, age) - 字符串连接:
"姓名: " + name + ", 年龄: " + str(age) - sep和end参数:
print("a", "b", "c", sep="-", end="!")
代码示例
input_output.py
# 输入与输出示例
# 使用input()获取用户输入
print("=== 个人信息收集 ===")
name = input("请输入您的姓名: ")
age = input("请输入您的年龄: ")
# 类型转换:将字符串转换为整数
age_int = int(age)
# 使用f-string格式化输出
print(f"\n您好,{name}!")
print(f"您的年龄是: {age_int}")
# 计算出生年份
from datetime import datetime
current_year = datetime.now().year
birth_year = current_year - age_int
print(f"您的出生年份大约是: {birth_year}")
# 更多类型转换示例
score_str = input("\n请输入您的数学成绩: ")
score_float = float(score_str)
print(f"您的数学成绩是: {score_float}")
# 使用format()方法格式化
print("\n=== 使用format()方法 ===")
print("姓名: {}, 年龄: {}, 成绩: {:.1f}".format(name, age_int, score_float))
# 旧式字符串格式化
print("\n=== 旧式字符串格式化 ===")
print("姓名: %s, 年龄: %d, 成绩: %.2f" % (name, age_int, score_float))
# 输入多个值
print("\n=== 输入多个值 ===")
values = input("请输入三个数字,用空格分隔: ").split()
num1, num2, num3 = map(float, values)
sum_result = num1 + num2 + num3
print(f"三个数字的和是: {sum_result}")
示例运行:
=== 个人信息收集 === 请输入您的姓名: 张三 请输入您的年龄: 15 您好,张三! 您的年龄是: 15 您的出生年份大约是: 2010 请输入您的数学成绩: 95.5 您的数学成绩是: 95.5 === 使用format()方法 === 姓名: 张三, 年龄: 15, 成绩: 95.5 === 旧式字符串格式化 === 姓名: 张三, 年龄: 15, 成绩: 95.50 === 输入多个值 === 请输入三个数字,用空格分隔: 10 20 30 三个数字的和是: 60.0
学习提示
1
input()函数总是返回字符串类型,需要进行类型转换。
2
f-string是Python 3.6+推荐的字符串格式化方法。
3
使用try-except处理输入错误,避免程序崩溃。
4
为input()提供清晰的提示信息,帮助用户正确输入。
练习题
练习 1
简单
编写一个程序,询问用户的姓名和年龄,然后打招呼。
使用input()获取输入,f-string格式化输出。
练习 2
简单
编写一个计算器程序,从用户获取两个数字并计算它们的和、差、积、商。
获取两个数字输入,转换为数值类型进行计算。
练习 3
中等
编写一个程序,将温度从摄氏度转换为华氏度。
华氏度 = 摄氏度 × 9/5 + 32
练习 4
中等
创建一个简单的问卷调查程序,收集用户的多个信息。
创建多个问题,收集不同类型的信息。
知识点总结
本课要点:
- 掌握input()函数获取用户输入
- 熟练使用f-string格式化输出
- 理解输入数据的类型转换
- 了解其他字符串格式化方法