python基础语法--输入和输出

一、 输入 input()

python使用input输入变量,input输入的变量为字符串形式,可以通过其他方式转换为整型或其他类型。

(1)单行读入已知个数的字符串或数字

  • 读入字符串

# 单行读入字符串a,并给出一句输入提示 
a = input("请输入一个数:") # 单行读入含有一个空格的字符串,并按照空格分隔开,存进a,b中 
a, b = input().split()# 单行读入含有一个逗号的字符串,并按照逗号分隔开,存进a,b中 
a, b = input().split(",")
  • 读入数字

# 单行读入单个整数b
b = int(input()) # 单行读入单个浮点数b 
b=float(input())# 单行读入用空格隔开的两个整数a,b 
a, b = map(int,input().split())    

(2)单行读入不定个整数,储存在列表中

# 单行读入不定个整数(整数之间用空格分隔), 从0开始存入列表a中
a = list(map(int,input().split()))

(3)先输入数字n,再输入n行数,每行一个数

# 先输入一个整数, 表示个数
n = int(input())
# n行, 每行输入一个数字
for i in range(n):a = int(input())

或者:

# 先输入一个整数, 表示个数
n = int(input())
# n行,每行输入一个整数
a = [int(input()) for i in range(n))]

(4)先输入数字n,再输入n行数,每行三个数,储存在三个列表中,用空格分隔

# 输入一个整数,表示行数
n = int(input())
# 创建三个空列表
x=[]
y=[]
z=[]
# 输入n行,每行输入3个整数,整数之间使用空格分隔
for i in range(n):a, b, c = map(int,input().split())x.append(a)y.append(b)z.append(c)

二、输入 print()

(1) 单行输出已知个数的字符串或数字

a = 1
b = 2
print(a, b) # 输出结果为:1 2c = "HelloWorld"
print(a, b, c) # 输出结果为:1 2 HelloWorld

(2)格式化输出

可以调用方法 format 并使用花括号作为占位符,从而得到格式化字符串。

最简单的方法就是使用内置函数format得到格式化字符串,它与字符串的方法format是等价的,如:

a = 1
b = 1.2
print(f'a = {a}, b = {b}')

下面主要介绍字符串的方法format,不过相关细节都是相同的。

# 格式化输出字符串

book = "《数据结构与算法》"
s = '买了一本书:{}'.format(book)
print(s)# 也可以直接这样写
print('买了一本书:{}'.format(book))# 输出结果为  买了一本书:《数据结构与算法》

price 68.88
s='花了{},买了一本书:{}'.format(price,book)
print(s)
# 花了68.88,买了一本书:《数据结构与算法》

如果占位符 {} 中不指定参数,方法format的参数会按顺序依次匹配所有的占位符{}。

我们还可利用参数指定某个占位符使用哪个变量进行打印:

# 占位符{}中可以指定位置参数,0表示方法format的第1个参数,1表示方法format的第2个参数
s = '花了{0},买了一本书:{1},只花了{0}!'.format(price,book)
print(s)
# 花了68.88,买了一本书:《数据结构与算法》,只花了68.88!

可以在方法format中指定关键字参数的名称和值,在占位符[}中指定关键字参数的名称。

s = '花了{p},买了一本书:{b},只花了{p}!'.format(p = price, b = book)
print(s)

# 格式化输出整数

  • 以某个进制的格式进行输出
# 以十进制的形式输出
print('{:d}'.format(58)) # 58# 以二进制的格式输出
print('{:b}'.format(58)) # 111010# 以十六进制的格式输出(a~f是小写)
print('{x}'.format(58)) # 3a
# 以十六进制的格式输出(A~F是大写)
print('{:X}'.format(58)) # 3A
  • 以某个精度的格式进行输出

将整数以浮点数的形式进行打印:

# 浮点数
print('{:f}'.format(58)) # 58.000000

占位符 {} 使用冒号指定宽度,如果数字的宽度没有达到指定的宽度,则在左边使用空格进行补齐:
 

补充:如果字符串的宽度没有达到指定的宽度,则在右边使用空格进行补齐:

print('{:10}'.format(58))
print('{:10}'.format('58'))

打印3.1415926的三位:

print('{:.3}'.format(3.1415926))

保留3.1415926三位小数进行打印:

print('{:.3f}'.format(3.1415926))

同时指定宽度和精度进行打印:

print('{:7.3f}'.format(3.1415926))

注意:这个小数点也占用一个宽度。

只取字符串中的前几位:

print('{:.5}'.format('HelloWorld'))

只取字符串中的前几位,并以某个宽度进行打印:

print('{:10.5}'.format('HelloWorld'))
补充:

使用 ,作为千位的分隔符:

print('{:,}'.format(12345678) # 12,345,678

指定某个时间格式进行打印:

from datetime import datetime
print('{:%Y-%m-%d %H:%M:%S}'.format (datetime(2018,8,18,18,18,18)))

这种指定某种格式进行打印的同时,都可以指定 {} 打印哪个参数:

print('{0:b}'.format(58, 2)) #111010
print('{num1:b}'.format(num1 = 58, num2 = 2)) # 111010


本文参考以下资料,在此对该作者表示感谢:
链接:https://www.jianshu.com/p/30c2ae833ddd

《图解Python》学习路径:图解Python视频教程_Python学习路线-51CTO学堂

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

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

相关文章

【随笔】Git 高级篇 -- 提交的技巧(下) cherry-pick commit --amend(十九)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

pose_iter_116000.caffemodel 下载地址(github)

没有百度云会员,github上几秒就下完了 face:pose_iter_116000.caffemodelhttps://github.com/ihp-lab/OpenSense/blob/fefe13ccf250e4811f4f61edf0b212e4ded78d19/Interoperations/OpenPose.PInvoke/OpenPoseLib/models/face/pose_iter_116000.caffemode…

搭建网站的步骤

搭建网站的步骤 我们选择了白嫖雨云的二级域名 浏览器输入https://www.rainyun.com/z22_ 创建账号然后选择一个你喜欢的子域名我建议后缀选择ates.top的 选择自定义地址,类型选择cname 现在要选择记录值了,有a,aa,txt等 根据实际…

加速度JUSDO | 电子元器件商城行业调研及运营方案

一、行业背景与竞品分析 随着电子元器件行业的快速发展,线上元器件商城已成为行业交易的重要渠道。目前市场上存在多个知名的元器件商城,如立创、云汉芯城、贸泽商城等,它们都提供了丰富的元器件产品和便捷的线上交易服务。 立创商城&#x…

1200/天,长期兼职贵么?

今天收到一个客户询盘,问公司长期招聘一个兼职程序员,包月的这种。问我多少钱一个月,在这种需求未明确的情况下,单纯的问价格其实意义不大的,只要报价不在客户心理预期范围内基本没戏的。 关于定价 关于程序员价格的定…

MySQL-----索引

一 概述 索引(index)是帮助MysQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法&…

Excel 记录单 快速录入数据

一. 调出记录单 ⏹记录单功能默认是隐藏的,通过如下如图所示的方式,将记录单功能显示出来。 二. 录入数据 ⏹先在表格中录入一行数据,给记录单一个参考 ⏹将光标至于表格右上角,然后点击记录单按钮,调出记录单 然后点…

[目标检测] OCR: 文字检测、文字识别、text spotter

概述 OCR技术存在两个步骤:文字检测和文字识别,而end-to-end完成这两个步骤的方法就是text spotter。 文字检测数据集摘要 daaset语言体量特色MTWI中英文20k源于网络图像,主要由合成图像,产品描述,网络广告(淘宝)MS…

Kali系统开启SSH服务结合内网穿透工具实现无公网IP远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 本文主要介绍如何在Kali系统编辑SSH配置文件并结合cpolar内网穿透软件,实现公网环境ssh远程连接本地kali系统。 1. 启…

Java特性之设计模式【外观模式】

一、外观模式 概述 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性 这种模式涉及到一…

漏洞挖掘 SSRF 一次很菜的SSRF低危小通杀

前言 一转眼貌似很长时间都没更新博客了,甚至连标题的大小和格式都有点忘了,今后应该尽量保持每周更新一次,主要是平常上课太忙了,在学校还总是不定时会刷新一些烂事,就耽误了很多时间。这篇文章用于记载我最近的一次…

PixArt-β:Fast and controllable image generation with latent consistency models

PixArt α to Σ: All about Efficient Diffusion Models - 知乎前言自年初Sora和Stable Diffusion 3推出以来,笔者就开始关注基于Diffusion Transformer的工作。在我的往期文章《 Diffusion Transformer Family:关于Sora和Stable Diffusion 3你需要知道…

原子操作和竞争条件

所有系统调用都是以原子操作方式执行的。之所以这么说,是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性加以执行,其间不会为其他进程或线程所中断。原子性是某些操作得以圆满成功的关键所在。特别是它规避了竞争状态(race condi…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

repl_backlog原理

2.2.3.repl_backlog原理 master怎么知道slave与自己的数据差异在哪里呢? 这就要说到全量同步时的repl_baklog文件了。 这个文件是一个固定大小的数组,只不过数组是环形,也就是说角标到达数组末尾后,会再次从0开始读写,这样数组…

vue快速入门(十三)v-model的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 数据双向绑定数据清空方法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

vue数据检测原理

前言 Vue中的数据监听离不开Object.defineProperty()方法的使用&#xff0c;在了解数据监测原理之前&#xff0c;建议先掌握defineProperty的用法。 目标 1 数据监测问题 2 数据监测原理 3 如何实现数组更新 1 遇到的问题 数组更新问题 <button click"updatePeople&q…

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用

该文章演示怎么在OData里,创建一个多套多的请求结构,传入数据处理后,返回多层级的处理结果;以及如何在CPI里写groovy脚本,去解析它;最后如何用postman模拟外围系统,调用CPI这个接口,从而去调用Odata接口 假如想用SAP Odata去实现传入多层级的数据,进行创建或者根据传入…

libVLC 提取视频帧使用QWidget渲染

在前面的文章中&#xff0c;我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据&#xff0c;将数据渲染到QWidget上&#xff0c;该如何操作呢&a…

java八股——消息队列MQ

上一篇传送门&#xff1a;点我 目前只学习了RabbitMQ&#xff0c;后续学习了其他MQ后会继续补充。 MQ有了解过吗&#xff1f;说说什么是MQ&#xff1f; MQ是Message Queue的缩写&#xff0c;也就是消息队列的意思。它是一种应用程序对应用程序的通信方法&#xff0c;使得应用…