当前位置: 首页 > news >正文

《Python 实用项目与工具制作指南》· 2.1 输入输出

2.1 输入输出

在编程世界中,输入与输出是程序与用户交互的桥梁。就像人与人交流需要听(输入)和说(输出),Python 程序也通过输入获取用户指令或数据,通过输出反馈结果或状态。无论是制作 “题目数据生成器” 时让用户设定难度,还是开发 “密码管理器” 时展示保存的账号信息,都离不开输入输出功能。本节将带你掌握 Python 中最基础也最常用的输入输出方法,为后续项目开发打下交互基础。

一、输出函数:print ()—— 让程序 “说话”

print()函数是 Python 中最基础的输出工具,它能将信息显示在屏幕上,让用户知道程序的运行结果。

1. 基本用法:输出文本或变量
  • 输出固定文本:将需要显示的内容放在括号中,用英文引号(单引号或双引号均可)包裹。例如:

print("欢迎使用题目数据生成器")

print('请按照提示完成设置')

运行后,屏幕会依次显示两行文字:

欢迎使用题目数据生成器

请按照提示完成设置

  • 输出变量:直接将变量名放在括号中,即可显示变量存储的值。例如:

# 定义一个存储题目标题的变量

question_type = "小学数学口算题"

print(question_type) # 输出变量的值

运行结果:

小学数学口算题

2. 进阶用法:同时输出多个内容

print()可以一次输出多个内容,用逗号分隔即可。默认情况下,多个内容之间会用空格分隔,且输出后会自动换行。例如:

subject = "英语"

level = "初级"

print("当前生成的是", subject, level, "题目")

运行结果:

当前生成的是 英语 初级 题目

若想自定义分隔符或取消自动换行,可使用sep(分隔符)和end(结尾字符)参数:

# 用短横线分隔内容,结尾用感叹号代替换行

print("语文", "中级", sep="-", end="!\n")

print("生成完成") # \n是换行符,强制换行

运行结果:

语文-中级!

生成完成

3. 格式化输出:让内容更整齐

在输出包含变量的文本时(如 “生成了 20 道题”),可以用格式化字符串让内容更易读。推荐使用f - 字符串(Python 3.6 + 支持),在引号前加f,并将变量放在{}中:

count = 20

difficulty = "高级"

print(f"已生成{count}道{difficulty}题目") # 变量直接嵌入文本

运行结果:

已生成20道高级题目

二、输入函数:input ()—— 让程序 “倾听”

input()函数用于获取用户从键盘输入的信息,程序会暂停等待,直到用户输入内容并按下回车键。

1. 基本用法:获取用户输入

调用input()时,可传入一个提示文本(放在括号中),告知用户需要输入什么。函数返回用户输入的内容,通常需要用变量保存。例如:

# 获取用户姓名并保存到变量中

name = input("请输入你的姓名:")

print(f"你好,{name}!") # 输出欢迎语

运行程序后,屏幕会显示提示文字,等待用户输入:

请输入你的姓名:(此时可输入内容,如“张三”)

你好,张三!

2. 注意事项:输入内容的类型

input()获取的内容默认是字符串类型,即使用户输入的是数字,也会被当作文本处理。例如:

# 尝试获取数字并计算

num = input("请输入一个数字:")

print(num + 10) # 会报错,因为字符串不能直接和数字相加

若需要用输入的内容进行数学计算(如 “题目数据生成器” 中设定题目数量),需用int()或float()转换类型:

# 正确做法:将输入的字符串转为整数

count = int(input("请输入题目数量:"))

total = count * 2 # 可正常进行数学运算

print(f"两倍题目数量是:{total}")

运行示例:

请输入题目数量:5

两倍题目数量是:10

三、输入输出的实际应用场景

结合 “题目数据生成器”“密码管理器” 等项目,我们来看输入输出的具体用法:

1. 在 “题目数据生成器” 中

# 获取用户设置的题目参数

subject = input("请选择科目(数学/英语):")

level = input("请选择难度(简单/中等/困难):")

quantity = int(input("请输入题目数量:"))

# 输出生成结果

print(f"\n已为你生成{quantity}道{subject}{level}题目,内容如下:")

# (后续会添加题目生成代码)

运行时,程序会引导用户一步步输入设置,再清晰反馈结果。

2. 在 “密码管理器” 中

# 模拟从存储中读取账号信息

account = "example@mail.com"

password = "******" # 实际项目中会加密显示

# 输出账号信息(隐藏真实密码)

print("账号信息:")

print(f"邮箱:{account}")

print(f"密码:{password}")

通过输出控制,既能展示必要信息,又能保护敏感内容。

四、常见问题解决
  1. 输入数字时出错:若用户输入的不是数字(如字母),用int()转换会报错。可先判断输入是否合法(后续章节会学习条件判断),或使用try-except捕获错误:

try:

age = int(input("请输入年龄:"))

except ValueError:

print("输入错误,请输入数字!")

    2. 输出内容过长:可用\n手动换行,或用三引号"""包裹多行文本:

print("""这是一段

多行文本

的输出示例""")

    3. 中文显示乱码:在代码开头添加# -*- coding: utf-8 -*-(部分编辑器可能需要),确保中文正常显示。

掌握了print()和input(),你就拥有了程序与用户对话的基本能力。下一节,我们将学习变量与数据类型,让程序能更灵活地存储和处理用户输入的信息。现在,不妨试着编写一个简单的交互程序:让用户输入姓名和年龄,然后输出 “XXX,你好!你今年 XX 岁了”,感受输入输出的配合效果。

http://www.lryc.cn/news/610317.html

相关文章:

  • 基于Matlab实现LDA算法
  • 【机器学习】(算法优化一)集成学习之:装袋算法(Bagging):装袋决策树、随机森林、极端随机树
  • MiDSS复现
  • 测试-概念篇(3)
  • 基于SpringBoot的OA办公系统的设计与实现
  • 【Mac】OrbStack:桌面端虚拟机配置与使用
  • 防火墙认证用户部署
  • DPDK中的TCP头部处理
  • 在安卓中使用 FFmpegKit 剪切视频并添加文字水印
  • uiautomator2 编写测试流程-登陆后的酷狗01
  • Django集成图片验证码功能:基于django-simple-captcha实现
  • MySQL Router
  • Elasticsearch Ingest Pipeline 实现示例
  • C 语言枚举、typedef 与预处理详解
  • C语言的数组与字符串
  • AI产品经理面试宝典第61天:AI产品体验、数据安全与架构实战解析
  • 倒排索引:Elasticsearch 搜索背后的底层原理
  • 无公网环境下在centos7.9上使用kk工具部署k8s平台(amd64架构)
  • 数字信号处理_编程实例1
  • 【前端】JavaScript基础知识及基本应用
  • C++ STL list容器详解:从基础使用到高级特性
  • AI绘图-Stable Diffusion-WebUI的基本用法
  • SwiftUI ios开发中的 MVVM 架构深度解析与最佳实践
  • 深度学习零基础入门(4)-卷积神经网络架构
  • (JAVA)自建应用调用企业微信API接口,设置企业可信IP
  • 流量见顶时代,知识付费 IP 的破局逻辑
  • 汇川PLC通过ModbusTCP转Profinet网关连接西门子PLC配置案例
  • 飞算 JavaAI 实战:从代码生成到架构优化的全场景应用指南
  • 机试备考笔记 4/31
  • springboot博客实战笔记01