知识点概述

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格式化输出
  • 理解输入数据的类型转换
  • 了解其他字符串格式化方法

下一课预告:

在下一课中,我们将学习循环结构,了解如何使用for和while循环重复执行代码。

预览下一课