Python青少年简明教程:输入输出

news2024/9/22 22:37:54

Python青少年简明教程:输入输出

Python的输入输出是编程中的基本操作。Python的标准输入输出主要通过内置的input()函数和print()函数来实现。这两个函数使得从用户那里接收输入和向用户展示输出变得非常简单。

输入(Input)函数

input()函数用于接收用户的输入。基本语法:

input([prompt])

prompt是可选参数,是在获取输入之前向用户显示的字符串。该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。

函数始终返回一个字符串(即使用户输入的是数字)。

input()函数用于接收用户的输入。这个函数会暂停程序的执行,等待用户输入一些文本,并在用户按下回车键后继续执行。input()函数可以接受一个字符串作为参数,这个字符串会显示给用户,作为输入提示。不过,无论用户输入什么内容,input()函数都会将其作为字符串返回。

输入示例:

user_input = input("请输入你的名字: ") 
print("你好," + user_input + "!")

在这个例子中,程序会等待用户输入他们的名字,并在用户输入并按下回车键后,将输入的名字与问候语结合后打印出来。

注意,input() 接收的输入总是字符串类型。如果需要其他类型(如整数、浮点数),需要手动进行转换:

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

height = float(input("请输入你的身高:"))

input() 总是返回字符串。如果需要其他类型,你需要进行类型转换。如果你需要其他类型的数据(如整数、浮点数、布尔值等),你需要将 input() 返回的字符串转换为相应的类型。这可以通过使用内置的类型转换函数来实现,如 int(), float(), bool() 等。

input() 函数一般一次接收一个字符串输入。如果你想一次输入多个数据,循环逐个输入,直到输入指定的结束标志,例如:

data = []
while True:
    # 提示用户输入数据
    user_input = input("请输入数据(或输入'#'来停止输入): ")

    # 如果用户输入'结束',就停止循环
    if user_input.lower() == '#':
        break

    # 将输入的数据添加到列表中
    data.append(user_input)

# 将数据打印出来
print(data)

运行效果如下图所示:

可以通过一些技巧来一次性输入多个数据。

最常用的是借用split()方法。用户输入多个数据,用空格(或其他分隔符)分隔,然后使用split()方法将输入分割成多个值。

【split() 是 Python 字符串对象的一个非常有用的方法。它用于将字符串分割成子字符串列表。基本语法:

str.split(sep=None, maxsplit=-1)

参数说明:

sep:分隔符。默认为 None,表示使用空白字符(包括空格、制表符、换行符)作为分隔符。

maxsplit:最大分割次数。默认为 -1,表示不限制分割次数。

示例:

# 默认使用空白字符分割
text1 = "Hello World Python"
result1 = text1.split()
print(result1)  # ['Hello', 'World', 'Python']

# 使用指定分隔符
text2 = "apple,banana,orange"
result2 = text2.split(',')
print(result2)  # ['apple', 'banana', 'orange']

借用split()方法变通使用input()一次输入多个数据,例如:

data = input("请输入多个数据,以空格分隔:")
data_list = data.split()  # 以空格分割
print(data_list)

运行效果如下图所示:

默认是空格分隔,可以在 split() 方法中指定分隔符。例如,以逗号分隔:

data = input("请输入多个数据,以逗号分隔: ")
data_list = data.split(',')  # 以逗号分割
print(data_list)

此例就不给出运行效果图了,你可以运行看看。

如果你需要将这些数据转换成其他数据类型(如整数),可以在 split() 后进行转换,例如:

# 让用户输入多个整数,以空格分隔
user_input = input("请输入多个整数,用空格分隔: ")

# 将输入的字符串分割成列表
data_str = user_input.split()

# 将列表中的每个字符串转换为整数
data_int = [int(item) for item in data_str]

# 将数据打印出来
print(data_int)

运行效果图如下:

关于input用法更多情况可见 https://blog.csdn.net/cnds123/article/details/115027082

输出(Output)函数

print()函数用于在屏幕上显示信息。语法格式:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

*objects:表示要打印的多个对象,它们之间默认以空格分隔。可以使用逗号分隔多个对象(其中* 符号是一个常见的 Python 语法特性,称为“可变参数”或“星号参数”,用于接收位置参数,这些参数会被打包成一个元组,允许你传递多个值)。

sep:指定对象之间的分隔符,默认为空格。

end:指定打印完所有对象后附加的字符串,默认为换行符\n。

file:指定输出流,默认为sys.stdout(即控制台)。

flush:是否立即刷新输出缓冲区,默认为False。

print()函数用于在屏幕上显示信息。它可以接受多个参数,并将它们转换为字符串(如果它们还不是字符串的话),然后将它们连接在一起,并在末尾添加一个新行符(默认情况下,print() 总是在末尾添加换行符,除非指定了 end 参数),最后将结果输出到标准输出设备(通常是屏幕)。print()函数总是返回None。

简单的输出示例:

print("Hello, World!")  # 输出:Hello, World!

print("Hello", "World")  # 输出:Hello World

print("Hello", "World", sep=", ")  # 输出:Hello, World

print("Python", "令人惊叹!", sep="---") # 输出:Python---令人惊叹!

print("Hello", end="")  # 输出Hello后不换行

print("World")  # 接着上一行输出World

print() 函数可以输出多个对象:

print("Hello", "2024年", 123) # 输出:Hello 2024年 123

print() 函数可以用于显示各种数据类型如字符串、整数、浮点数(表示带小数部分的数)、列表等。不同数据类型的输出有一些细微的差别和注意事项。

浮点数可能显示不期望的精度。

print(0.1 + 0.2)  # 输出: 0.30000000000000004

这是由于二进制浮点数的限制造成的。你可以通过格式化字符串来控制浮点数的显示精度:

print(f"{0.1 + 0.2:.1f}")  # 保留1位小数:0.3

print()可以同时打印多种类型,会自动转换为字符串。

print("1 + 2 =",1 + 2) # 输出:1 + 2 = 3

提示,print() 函数在输出变量和字符串时的使用方法和区别

输出字符串,直接将字符串放在 print() 函数的括号中:

print("Hello, World!")  # 输出: Hello, World!

【字符串用于表示文本数据,可以包含字母、数字、符号以及其他字符,需要用单引号、双引号或三引号(半角引号)包起来。详见“字符串”一节】

输出变量,直接将变量名放在 print() 函数的括号中:

x = 10
print(x)  # 输出: 10

【变量是用来存储数据的容器。你可以把它想象成一个带标签的盒子,里面可以放置各种类型的数据。详见“变量”一节】

当需要更复杂的输出格式化时,考虑使用字符串的format()方法或f-字符串。

格式化字符串(格式化字符串字面值,简称为 f-字符串),,从Python 3.6开始引入,这是一种非常方便且易于阅读的格式化字符串的方法。通过在字符串前加上f或F,并在字符串内部使用大括号{}包围变量名,Python会自动将变量值插入到字符串中。如:

name = "Alice"  
age = 30  
print(f"名字是{name},年龄{age}岁。")  # 输出:名字是Alice,年龄30岁。

格式化字符串字面值(formatted string literals)通过在字符串前添加 f 或 F,并在字符串内部使用花括号 {} 包裹表达式,可以直接在字符串中嵌入 Python 表达式的值。

比传统的 % 格式化和 format() 方法更简洁直观。

可以嵌入任意表达式,包括函数调用和复杂的运算。

在 f-strings 中可以直接嵌入表达式,包括变量、函数调用、运算等。如:

x = 10
y = 5
formatted_string = f"{x} + {y} = {x + y}"
print(formatted_string)  #输出:10 + 5 = 15

格式化选项简介

可以使用格式说明符对数值进行格式化(“格式规格”),例如控制小数点、填充和对齐等。例如:

pi = 3.1415926
print(f"π 约等于 {pi:.2f}") # 输出:π 约等于 3.14

使用多行字符串(使用三重引号 """ 或 ''')时,可以在每一行中使用 f-strings。例如:

name = "Alice"
age = 30
info = f"""
姓名:{name}
年龄:{age}
"""
print(info)

输出:

姓名:Alice
年龄:25

格式化规范提供了极大的灵活性,允许您精确控制输出的外观。

格式化规范的基本语法是:

f"{value:[填充][对齐][符号][#][0][宽度][,][.精度][类型]}"

选项解释:

☆填充和对齐

    <: 左对齐

    >: 右对齐

    ^: 居中对齐

    可以指定填充字符,默认是空格

例如:

name = "Alice"
print(f"{name:>10}")    # '     Alice'
print(f"{name:<10}")    # 'Alice     '
print(f"{name:^10}")    # '  Alice   '
print(f"{name:*^10}")   # '**Alice***'

☆符号

    +: 总是显示符号(正数和负数)

    -: 只显示负数的符号(默认)

     : 正数前加空格,负数前加减号

例如:

num = 42
print(f"{num:+}")    # '+42'
print(f"{num: }")    # ' 42'
print(f"{-num:+}")   # '-42'

☆#符号用于指定数字的进制表示(即十六进制、八进制和二进制):

    #x:表示以十六进制的形式输出数字,并在前面添加0x前缀

    #o:表示以八进制的形式输出数字,并在前面添加0o前缀

    #b:表示以二进制的形式输出数字,并在前面添加0b前缀

例如:

print(f"{42:#x}")    # '0x2a'
print(f"{42:#o}")    # '0o52'
print(f"{42:#b}")    # '0b101010'

☆宽度和精度

    宽度: 指定字段的最小总宽度

    精度: 用于浮点数,指定小数点后的位数

例如:

pi = 3.14159
print(f"{pi:10.2f}")  # '      3.14'

☆千位分隔符

    使用 , 添加千位分隔符

例如:

big_num = 1000000
print(f"{big_num:,}")  # '1,000,000'

☆类型指定

    s: 字符串格式(默认)

    d: 十进制整数

    f: 定点数

    e 或 E: 科学计数法

    %: 百分比

例如:

num = 123.456
print(f"{num:d}")    # '123'
print(f"{num:.2f}")  # '123.46'
print(f"{num:.2e}")  # '1.23e+02'
print(f"{num:.2%}")  # '12345.60%'

提示,这些规范可以组合使用,例如:

value = 1234.5678
print(f"{value:+10,.2f}")  # ' +1,234.57'

附录、Python的输入函数input()和输出函数print()详解 https://blog.csdn.net/cnds123/article/details/118638607

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Denosing RayDN-对同一射线的误检测优化

Denosing操作理解 DN-DETR增加denosing操作&#xff0c;帮助快速拟合&#xff0c;提高了目标检测任务中的效率和精度。通过这种方式&#xff0c;DN-DETR 克服了原始 DETR 的一些限制&#xff0c;使其在实际应用中具有更好的性能和鲁棒性。 GTBoxes通过随机偏移H, L,W进行偏移&…

Nuxt3【路由中间件】middleware

路由中间件类似路由守卫&#xff0c;即在导航到特定路由之前运行一段代码 内联路由中间件 在页面中定义的路由中间件&#xff0c;因没有名称&#xff0c;所以也叫匿名路由中间件 definePageMeta({middleware: [function (to, from) {console.log("执行了内联路由中间件&q…

[Meachines] [Medium] Popcorn SQLI+Upload File+PAM权限提升

信息收集 IP AddressOpening Ports10.10.10.6TCP:22&#xff0c;80 $ nmap -p- 10.10.10.6 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.1p1 Debian 6ubuntu2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: …

2024新型数字政府综合解决方案(七)

新型数字政府综合解决方案通过集成人工智能、大数据、区块链和云计算技术&#xff0c;创建了一个高度智能化和互联互通的政府服务平台&#xff0c;旨在全面提升行政效率、服务质量和透明度。该平台实现了跨部门的数据整合与实时共享&#xff0c;利用人工智能进行智能决策支持和…

RockerMQ学习

消息中间件以前常用RabbitMQ和ActiveMQ&#xff0c;由于业务需要&#xff0c;后期业务偏向大数据&#xff0c;现着重学习一下RocketMQ&#xff08;RocketqMQ原理同ctg-mq&#xff09;&#xff0c;后续更新Kafka 一、RocketMQ特性 Kafka特性 &#xff08;高性能分布式&#xff…

MySQL数据库进阶知识(三)《优化》

学习目标&#xff1a; 一周掌握SQL优化知识 学习内容&#xff1a; 一、插入数据 1.insert优化 批量插入 insert into tb_test values(1,Tom),(2,Cat),(3,Jerry);手动提交事务 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_te…

03 网络编程 TCP传输控制协议

目录 1、TCP基本特征 2、TCP通信流程基本原理 &#xff08;1&#xff09;基本原理 &#xff08;2&#xff09;TCP通信代码实现 &#xff08;3&#xff09;核心API解析 1&#xff09;地址绑定--bind 2)设置监听-listen 3)等待连接请求-accept-产生一个已连接套接字 4&a…

WSL2与Windows之间的网络互访

文章目录 1.环境2.WSL访问Windows上的服务3.Windows访问WSL上的服务 1.环境 1.宿主机 Windows 10 2.WSL ubuntu 18.04 LTS 3.Windows 10上的 vEthernet (WSL) 已启用 2.WSL访问Windows上的服务 1.防火墙设置 2.查看访问Windows的IP 172.21.112.1, 使用该IP访问Windows上的服务…

玩机进阶教程-----回读 备份 导出分区来制作线刷包 回读分区的写入与否 修改xml脚本

很多工作室需要将修改好的系统导出来制作线刷包。前面分享过很多制作线刷包类的教程。那么一个机型中有很多分区。那些分区回读后要写入。那些分区不需要写入。强写有可能会导致不开机 不进系统的故障。首先要明白。就算机型全分区导出后在写回去 都不一定可以开机进系统。那么…

【JVM】JVM 实战调优指南赋案例(保姆篇)

文章目录 JVM 实战调优指南引言1. JVM基础知识1.1 JVM架构1.2 JVM垃圾回收 2. 垃圾回收调优2.1 垃圾回收日志2.2 GC日志分析2.3 调优策略2.3.1 调整堆大小2.3.2 选择合适的GC算法2.3.3 调整垃圾回收线程 3. 内存管理调优3.1 内存泄漏检测3.2 堆转储分析3.3 内存分配策略 4. 线程…

基于飞桨框架的稀疏计算使用指南

本文作者-是 Yu 欸&#xff0c;华科在读博士生&#xff0c;定期记录并分享所学知识&#xff0c;博客关注者5w。本文将详细介绍如何在 PaddlePaddle 中利用稀疏计算应用稀疏 ResNet&#xff0c;涵盖稀疏数据格式的础知识、如何创建和操作稀疏张量&#xff0c;以及如何开发和训练…

在阿里云上部署 Docker并通过 Docker 安装 Dify

目录 一、在服务器上安装docker和docker compose 1.1 首先关闭防火墙 1.2 安装docker依赖包 1.3 设置阿里云镜像源并安装docker-ce社区版 1.4 开启docker服务并设置开机自启动 1.5 查看docker版本信息 1.6 设置镜像加速 1.7 将docker compose环境复制到系统的bin目录下…

【计算机网络】应用层自定义协议与序列化

记得在上一节我们说过TCP中的读取时需要改进&#xff0c;这节就可以解决读取问题了。 目录 应用层再谈 "协议"网络版计算机方案一方案二 序列化 和 反序列化 重新理解 read、write、recv、send 和 tcp 为什么支持全双工 应用层 再谈 “协议” 我们在UDP与TCP中写的…

力扣高频SQL 50题(基础版)第四十七题之1321.餐馆营业额变化增长

力扣高频SQL 50题&#xff08;基础版&#xff09;第四十七题 1321.餐馆营业额变化增长 题目说明 表: Customer ---------------------- | Column Name | Type | ---------------------- | customer_id | int | | name | varchar | | visited_on | date | | amount | …

后端开发刷题 | 排序算法--冒泡排序

描述 有一个长度为7的无序数组&#xff0c;按照从小到大的顺序排序后输出。 输入描述&#xff1a; 数组中的数据 输出描述&#xff1a; 数组中数据排序后输出 示例1&#xff1a; 输入&#xff1a; 13 11 9 7 5 3 1输出&#xff1a; 1 3 5 7 9 11 13 算法思想&#xf…

Type-C PD芯片与OTG功能:边充电边数据同时进行 LDR6028

在科技飞速发展的今天&#xff0c;智能设备已成为我们日常生活中不可或缺的一部分。从智能手机到平板电脑&#xff0c;再到笔记本电脑&#xff0c;这些设备不仅极大地丰富了我们的生活方式&#xff0c;也对充电与数据传输技术提出了更高要求。Type-C PD&#xff08;Power Deliv…

WPF篇(19)-TabControl控件+TreeView树控件

TabControl控件 TabControl表示包含多个共享相同的空间在屏幕上的项的控件。它也是继承于Selector基类&#xff0c;所以TabControl也只支持单选操作。另外&#xff0c;TabControl的元素只能是TabItem&#xff0c;这个TabItem继承于HeaderedContentControl类&#xff0c;所以Ta…

EE trade:黄金的基础知识点

黄金&#xff0c;这种闪耀着金色光芒的贵金属&#xff0c;自古以来就吸引着人类的目光&#xff0c;并深深地影响着人类文明进程。从古代文明的装饰品到现代社会的投资工具&#xff0c;黄金始终扮演着重要的角色。本文整理了黄金的必备常识、黄金的基础知识点。 一、黄金的独特…

达梦数据库系列—48.DMHS实现Mysql到DM8的同步

目录 DMHS实现Mysql到DM8的同步 1、准备介质 2、安装 3、准备源端Mysql和目标端DM8 软件安装 数据库创建 打开归档 开启附加日志 创建辅助表 Mysql客户端驱动 Mysql端安装ODBC 检查依赖包 创建连接用户 创建测试表 4、同步配置 修改服务配置 Mysql到Dm单向同步…

CVPR2023《DNF: Decouple and Feedback Network for Seeing in the Dark》暗光图像增强论文阅读笔记

相关链接 论文链接 https://openaccess.thecvf.com/content/CVPR2023/papers/Jin_DNF_Decouple_and_Feedback_Network_for_Seeing_in_the_Dark_CVPR_2023_paper.pdf 代码链接 https://github.com/Srameo/DNF 摘要 RAW数据的独特属性在低光照图像增强方面展现出巨大潜力。…