2.8 标准输入与格式化输出

news/2024/4/28 9:03:29/文章来源:https://blog.csdn.net/qq_46137324/article/details/127630618

文章目录

      • 1. Input 标准输入
        • 1.1 标准输入
        • 1.2 阻塞状态
        • 1.3 输入提示
        • 1.4 获取输入字符串
        • 1.5 输入版本差异
          • 1. Python3 输入数据类型
          • 2. Python2 输入数据类型
      • 2. Print 格式化输出
        • 2.1 输入
        • 2.2 sep 参数
        • 2.3 end 参数
        • 2.4 快捷写法
        • 2.5 格式化输出
          • 1. 语法格式
          • 2. 字典形式传值
          • 3. 元组形式传值
          • 4. 字符宽度与标志
        • 2.6 .format 格式化输出
          • 1. format 方法
          • 2. 填充字符与对齐方式
          • 3. 精度控制&进制转换与千分位格式
        • 2.7 f 格式化输出
      • 3. 输出字符串转义
        • 3.1 转义字符
        • 3.2 覆盖打印案例
      • 4. 练习

1. Input 标准输入

1.1 标准输入

input() 接受一个标准输入数据, 返回为string类型.
从标准输入中读取字符串, 尾部换行符(回车 \n)被删除.序在执行到 input() 函数时会阻塞程序的运行, 要求输用户在运行工具窗口输入信息, 
输入信息后, 按下回车提交信息, 程序继续往下运行.input() 的返回值就是用户输入的字符串信息, 获取的数据可以用一个变量来存储.
在默认情况下运行工具窗口就一个光标在闪烁, 提示性不不强,
可以在 input 函数内中提供提示参数写入一段字符串, 用于增强提示.

1.2 阻塞状态

* 1. 运行下列程序之后, 开始看不到任何效果, 将鼠标点击到运行工具窗口, 出现一个光标闪烁. 
# 1. input() 函数阻塞状态.py
input()
print('hello world!')
* 2. 出现光标后, 表示进入输入状态, 输入完毕按下回车提交输入的字符串数据, 程序将继续执行.直接回车的表示提交空字符串.
运行工具窗口显示:
(回车)
'hello world!'

GIF 2022-11-1 7-07-26

1.3 输入提示

 input() 函数写一个字符串, 该字符串会出现在运行工具窗口.
没有描述信息的话, 输入全靠猜, 在设置提示之后, 简单明了.
# 2. 输入提示.py
input("你好, 请看到这个信息在这里输入你的名称>>>>>: ")
print('久等了···')
运行工具窗口显示:
你好, 请看到这个信息在这里输入你的名称>>>>>: (回车)
久等了···

GIF 2022-11-1 7-12-52

1.4 获取输入字符串

获取的字符串数据可以赋值给一个变量, 使用变量将值存储之后就行在程序中使用.
# 3. 获取输入字符串.py
name = input("你好, 请看到这个信息在这里输入你的名称>>>>>:")
print(name)
运行工具窗口显示:
你好, 请看到这个信息在这里输入你的名称>>>>>: (hello)
hello

image-20221101071919850

1.5 输入版本差异

Python2  Python3 输入的存在着差异.
Python3 所有的输入被被转换为字符串类型.
Python2 中输入是什么数据, 变量就是什么数据类型.python3 的的中的 input 其实是 Python2 中的 raw_input().
raw_input() 直接读取控制台的输入, 任何类型的输入它都可以接收.
1. Python3 输入数据类型
# 4. 输入数据类型(Python 3).py
str1 = input('请在这个输入: ')
print(str1)
print(type(str1))
运行工具窗口显示:
请在这个输入: (123)
123
<class 'str'>

image-20221101072451920

2. Python2 输入数据类型
* 1. 切换编译环境 Python 2.7.18

2022-11-01_01162

# 5. 输入数据类型(Python 2).py
str1 = input('input>>>:')
print(str1)
print(type(str1))str2 = raw_input('input>>>:')
print(str2)
print(type(str2))
运行工具窗口显示:
input>>>:(123)
123
<type 'int'>
input>>>:(123)
123
<type 'str'>

image-20221101073110194

2. Print 格式化输出

2.1 输入

print() 函数用于变量的输出和数据的格式化输出.
* Python2 如果是纯数字可以省略括号.def print(self, *args, sep=' ', end='\n', file=None):args: 可以同时输出多个对象, 对象之间使用逗号隔开.
sep:  多个对象的间隔距离, 默认是一个空格.
end:  设置输出的结尾符号, 默认为换行符.
file: 输出位置, 默认为当前sys.stdout(系统的标准化输出).
# 6. 输出.py
print(1, 2, 3, end='')
运行工具窗口显示:
1 2 3
( 这个一个空行是 print() 函数的 end参数造成的 ) 

2022-11-01_01164

2.2 sep 参数

sep:  多个对象的间隔距离, 默认是一个空格.
# 7. sed 参数.py
print(1, 2, 3, sep=' ')  # 默认
print(1, 2, 3, sep='')
print(1, 2, 3, sep='+')
运行工具窗口显示:
1 2 3
123
1+2+3

image-20221101091749593

2.3 end 参数

end:  设置输出的结尾符号, 默认为换行符.
# 8 . end 参数.py
print(0, end='\n')  # 默认
print(1, end='')
print(2, end='*')
print(3, end='+')
运行工具窗口显示:
0
12*3+

image-20221101092114368

2.4 快捷写法

在Pycharm中打印字符串的快捷写法.
输出对象.print tab键

在这里插入图片描述

2.5 格式化输出

1. 语法格式
将字符串中某些内容进行替换, 再输出.
格式化输入原理: 利用占位符, 先占位在把传值, 不能多传, 也不能少传.

z

image-20211103220222085

转换说明符解释
%d、%i转换为带符号的十进制整数
%o转换为带符号的八进制整数
%x、%X转换为带符号的十六进制整数
%e转化为科学计数法表示的浮点数(e 小写)
%E转化为科学计数法表示的浮点数(E 大写)
%f、%F转化为十进制浮点数
%g智能选择使用 %f 或 %e 格式
%G智能选择使用 %F 或 %E 格式
%c格式化字符及其 ASCII 码
%r使用 repr() 函数将表达式转换为字符串
%s使用 str() 函数将表达式转换为字符串
# 9. 格式化输出.py
# %s可以接收任意类型
print('--> %s <--' % 18)
print('--> %s <--' % [1, 23])
print('--> %s <--' % {'a': 333})
print('--> %d <--' % 18)
# %d只能接收int 否则提示:
# TypeError: %d format: a number is required, not str
# 类型错误:%d格式:需要数字,而不是字符串
运行工具窗口显示:
--> 18 <--
--> [1, 23] <--
--> {'a': 333} <--
--> 18 <--

image-20221101102920323

2. 字典形式传值
以字典的形式传值, 可以打破位置的限制.
 % 与数据格式字符中间添加中括号, 中括号中写字典中key的名字.
# 10. 字典形式传值.py
str1 = "我的名字是 %(name)s 我的年龄是 %(age)s." % {"age": "18", "name": 'kid'}
print(str1)
运行工具窗口显示:
我的名字是 kid 我的年龄是 18.

image-20221101094237081

3. 元组形式传值
元组形式传值就是原生的样式, 元组有多少个元素, 就提供几个参数.
# 11. 元组形式传值.py
print('%s %s' % (1, 2))  # (1, 2) 是一个元组
t1 = 1, 2
print('%s %s' % t1)  # 等同于上面
运行工具窗口显示:
1 2
1 2

image-20221101094900774

4. 字符宽度与标志
设置输出字符的占用宽度的个数.
标志说明
-指定左对齐
+输出的数字总要带着符号;正数带+, 负数带-.
0宽度不足时:数字类型补充 0, 字符类型补充空格.
%06d   表示: 一共6, 位数不够0来凑.
%m.nf  表示:一共m位, 小数部分占n位. (m 表示最小宽度, n 表示输出精度.)
# 12. 字符宽度与标志.py
print('%06d' % 1)  # 000001
print('%6d' % 123)  # 默认空格占位
print('%6d' % 12345678)  # 超出正常显示
print('%10.6f' % 123.456)  # 123.456000 浮点型默认填充0
print("123%03s56" % 4)  # 123  456 两个空格
运行工具窗口显示:
000001123
12345678
123.456000
123  456

image-20221101110115927

2.6 .format 格式化输出

1. format 方法
.format() 是字符串的一个方法,  Python3 支持, 官方推荐使用!.
字符串中使用 {} 中括号占位, 使用 .format(参数1, 参数2, ...) 方法传递参数.使用参数的方式:
* 1. 中括号默认是按传入顺序依次使用参数.
* 2. 传入的参数是一个有序的集合, 中括号中使用索引获取对应的值.
* 3. 中括号中写变量名获取值.
# 13. .format 方法.py
# 默认按照位置传值
str1 = '我的名字是 {} 我的年龄是 {}.'.format('kid', 18)
print(str1)# 按索引传参, 可多次使用
str2 = '我的名字是 {0} {0} {0} 我的年龄是 {1} {1}.'.format('kid', 18)
print(str2)# 按名称传参, 可多次使用
age = 18
str3 = '我的名字是 {name} {name} {name} 我的年龄是 {age} {age}.'.format(name='kid', age=age)
print(str3)
运行工具窗口显示:
我的名字是 kid 我的年龄是 18.
我的名字是 kid kid kid 我的年龄是 18 18.
我的名字是 kid kid kid 我的年龄是 18 18.

image-20221101110507793

2. 填充字符与对齐方式
先通过索引方式取到值, 然后在冒号后设定填充格式: [填充字符][对齐方式][宽度]
* 填充字符默认不写就是空格
齐方式:
< 左对齐
> 右对齐
^ 居中
# 14. 填充字符与对齐方式.py
#  *<10:左对齐, 总共10个字符, 不够的用*号填充 --> 开始执行******
print('{0:*<10}'.format('开始执行'))# *>10:右对齐, 总共10个字符, 不够的用*号填充  --> ******开始执行
print('{0:*>10}'.format('开始执行'))# *^10:居中显示, 总共10个字符, 不够的用*号填充 --> ***开始执行***
print('{0:*^10}'.format('开始执行'))
运行工具窗口显示:
开始执行******
******开始执行
***开始执行***

image-20221101110854691

3. 精度控制&进制转换与千分位格式
{ x :.n格式} n 为精度
{ x :b}  二进制格式
{ x :o}  八进制格式
{ x :x}  十六进制格式
{ x :x}  千分位格式化
# 15. 精度控制&进制转换与千分位格式.py
# f浮点型, .3精确到小数点后3位, 四舍五入, 结果为:1232132.124
print('{salary:.3f}'.format(salary=1232132.12351))# 转成二进制, 结果为:1111011
print('{0:b}'.format(123))# 转成八进制, 结果为:11
print('{0:o}'.format(9))# 转成十六进制, 结果为:f
print('{0:x}'.format(15))# 千分位格式化, 结果为:99,812,939,393,931
print('{0:,}'.format(99812939393931))
运行工具窗口显示:
1232132.124
1111011
11
f
99,812,939,393,931

image-20221101110928995

2.7 f 格式化输出

f 格式话输出  Python3.5 开始才推出, 直接在括号内使用变量.
可以使用 .format() 方法的填充字符, 对齐方式, 精度控制, 进制转换与千分位格式...
# 16. f 格式化输出.py
str1 = 'hello'
num = 1800
print(f'{str1:*^10} {str1} {num:,} {num:x}')
运行工具窗口显示:
**hello*** hello 1,800 708

image-20221101111234349

3. 输出字符串转义

3.1 转义字符

转义字符说明
\n换行符, 将光标位置移到下一行开头.
\r回车符, 将光标位置移到本行开头.
\t水平制表符, 也即 Tab 键, 一般相当于四个空格.
\a蜂鸣器响铃.注意不是喇叭发声, 现在的计算机很多都不带蜂鸣器了, 所以响铃不一定有效.
\b退格(Backspace), 将光标位置移到前一列.
\\反斜线
\’单引号
\"双引号
\在字符串行尾的续行符, 即一行未完, 转到下一行继续写.

3.2 覆盖打印案例

覆盖打印: 打印一次, 延时1, 在打印,
sed="" 设置print不换行打印.
\r 将光标位置移到本行开头, 再次打印的话将上次的内容覆盖.
time.sleep(1) 延时一秒.
# 17. 覆盖打印.py
import timeprint("\r离程序退出还剩%s秒" % 3, end="")
time.sleep(1)
print("\r离程序退出还剩%s秒" % 2, end="")
time.sleep(1)
print("\r离程序退出还剩%s秒" % 1, end="")
time.sleep(1)
print("\r离程序退出还剩%s秒" % 0, end="")

GIF 2022-11-1 11-20-15

# 18. 覆盖打印升级版本.py
import time# for 循环
for i in range(10):print("\r离程序退出还剩%s秒" % (9 - i), end="")time.sleep(1)

GIF 2022-11-1 11-23-46

4. 练习

1.写一段程序
接收用户输入的用户名、年龄、性别, 然后按照如下格式输出:我的名字是:xxx我的年龄是:xxx我的性别是:xxx2.用户输入姓名、年龄、工作、爱好 , 然后打印成以下格式
------------ info of Egon -----------
姓名  : KID
年龄   : 22
工作   : XX
爱好   : YY
------------- end -----------------

文章的段落全是代码块包裹的, 留言0是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言1是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言2是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言3是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言4是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言5是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言6是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言7是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言8是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言9是为了避免文章提示质量低.


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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是GPT

什么是GPT 参考资料&#xff1a; https://zhuanlan.zhihu.com/p/350017443 https://zhuanlan.zhihu.com/p/106462515 https://www.cnblogs.com/yifanrensheng/p/13167796.html https://blog.csdn.net/weixin_45577864/article/details/119651372 Generative Pre-trained T…

这可能是你需要的vue考点梳理

对 React 和 Vue 的理解&#xff0c;它们的异同 相似之处&#xff1a; 都将注意力集中保持在核心库&#xff0c;而将其他功能如路由和全局状态管理交给相关的库&#xff1b;都有自己的构建工具&#xff0c;能让你得到一个根据最佳实践设置的项目模板&#xff1b;都使用了Virt…

Golang学习之路3-基础认识(下)

文章目录前言一、数组1.定长数组2.不定长数组二、map1.使用关键字 map 来声明2.使用 make 来声明3.添加元素4.检索key的value是否存在5.删除元素6.遍历map7.map的注意点在这里插入图片描述三、指针1.使用指针& 及 *2.空指针四、循环与条件判断1.循环2.条件判断前言 学习一…

Go语言函数

什么是函数 func main() {fmt.Println("hello,world")//调用函数fmt.Println(add(1, 2)) }// func 函数名&#xff08;参数&#xff0c;参数。。。&#xff09;&#xff0c;函数调用返回值类型&#xff08;&#xff09; func add(a, b int) int {c : a breturn c }函…

Ray tracing 光线追踪 之 embree ,从入门到精通 02 从源码编译与安装

1. 下载预编译的ispc&#xff0c;安装 网址&#xff1a; https://ispc.github.io resources -> github page 进入ispc 的github的release页&#xff1a;Releases ispc/ispc GitHub 找到一个预编译好了的ispc&#xff0c;其中在windows平台上是&#xff1a;https://github…

Redis缓存穿透、击穿、雪崩介绍

面试高频&#xff0c;工作常用 缓存穿透&#xff08;查不到&#xff09; 概念 用户想要查询一个数据&#xff0c;发现redis内存数据库没有&#xff0c;也就是缓存没有命中&#xff0c;于是向持久层数据库查询。发现也没有&#xff0c;于是本次查询失败&#xff0c;当用户很多的…

GO实现跳跃表

GO实现跳跃表 文章目录GO实现跳跃表跳跃表介绍跳跃表的实现跳跃表的结构创建跳跃表跳跃表的插入和删除跳跃表的排名操作跳跃表的区间操作完整实现跳跃表介绍 跳跃表&#xff08;skiplist&#xff09;是一种有序的数据结构&#xff0c;它通过建立多层"索引"&#xff…

世界城市日|数字城市里看不见的“保安”,真面目竟是…

2022年10月31日&#xff0c;是第8个世界城市日。在数字化浪潮席卷全球的当下&#xff0c;城市发展亦进入新的阶段。建造数字城市&#xff0c;全面推进城市数字化转型成为当前城市建设的热议话题。数字城市、万物互联&#xff0c;与网络空间的融合必不可少。然而系统的复杂度越高…

简单使用gige千兆网口工业相机,国产崛起(二,c#)

发现海康的sdk不错&#xff0c;可以用海康&#xff0c;basler&#xff0c;大华工业相机&#xff0c;估计其他的也可以&#xff0c;有机会试一试&#xff01;国产厉害&#xff0c;崛起了&#xff01;赞一个&#xff0c;热情爆棚&#xff01;且随窃喜&#xff01; 首先下载海康工…

网站SEO标题撰写技巧,做到这些可以提高点击率

搜索引擎认为&#xff0c;一个网站的点击率越高&#xff0c;那么这个网站就越受欢迎&#xff0c;因此就会提高网站的关键词排名。网站的点击率越高&#xff0c;就会获得更多流量。网站标题和点击率息息相关&#xff0c;一个好的网站标题&#xff0c;能够轻松获得流量。那么&…

[carla入门教程]-2 pythonAPI的使用

本专栏教程将记录我从安装carla到调用carla的pythonAPI进行车辆操控的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制. 第二节 pythonAPI的使用 本小节主要学习使用 pythonAPI来与carla服务器进行交互.包括获取信息,发送信息.…

IDEA热部署插件JRebel使用

JRebel安装与激活 JRebel 使用 此时已经安装好并已激活&#xff0c;我们使用 JRebel debug的时候&#xff0c;修改代码&#xff0c;不能实现热部署&#xff0c;因此还需要设置其他地方 1.项目自动编译 设置 compiler.automake.allow.when.app.running ctrlshiftA 或者 help->…

vue相关原理

vue 原理 面试为什么要考察原理 知其然知其所以然&#xff0c;各行各业通用的道理了解原理才能用的很好&#xff0c;专业性考察&#xff0c;技术的追求竞争激烈&#xff0c;则优录取大厂造轮子&#xff08;业务定制&#xff1a;有些框架不能满足需求&#xff09; 面试中如何…

【Spark NLP】第 19 章:生产化 NLP 应用程序

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

docker下快速部署openldap与PHPLdapAdmin

在一个组织中&#xff0c;为了简化各种内部系统的账号和密码的管理&#xff0c;往往就需要ldap来进行管理了。 对于ldap的实现方式也非常多&#xff0c;但在免费的开源系统中&#xff0c;openldap是ldap的首选系统。 同时&#xff0c;在这一切讲究快速的时代&#xff0c;采用d…

大数据ClickHouse进阶(二十二):ClickHouse优化

文章目录 ClickHouse优化 一、表优化 1、日期字段避免使用String存储 2、Nullable值处理 <

计算机毕业设计(附源码)python音蕾心动

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

云IDE的简单使用、体验与学习

云IDE的简单使用、体验与学习一、简单尝试二、官网展示的特点三、视频用例3.1、用Cloud IDE快速启动开源项目3.2、用Cloud IDE 在线提交PR云IDE产品介绍 云IDE使用教程 免费使用地址&#xff1a;点击【云IDE】&#xff0c;即可开始创建工作空间。 一、简单尝试 快速创建工作空…

学习用Python实现PPT的自动化

前言 在日常工作中&#xff0c;我们总是需要创建或修改PPT。但你也可以用Python来创建或修改PPT文件。本文将告诉你如何使用Python-pptx模块自动或用PPT模板生成ppt&#xff0c;以及如何通过实例修改现有的PPT。 &#xff08;文末送福利&#xff09; 1.Python模块python-ppt…

hbuilderx ios自定义基座真机测试

任务描述&#xff1a; 用uniapp框架写了一个app应用&#xff0c;需要在ios苹果手机上真机运行测试。 hbuilderx不再支持标准基座真机运行了&#xff0c;需要自定义基座运行 制定自定义基座需要准备的材料&#xff1a; ios的appid,profile文件&#xff0c;私钥证书&#xff0…