Python输入输出流学习笔记

Python的输入与输出

一、输入

(一)输入函数input()

函数用途: 函数input()主要用于接收单个输入
函数参数: 函数括号中可以填写输入的提示语(非必要),提示语与输入内容位于同一行

a = input("Please enter your name")

运行结果:

Please enter your name

(二)输入数据的类型

input函数会将输入默认转换成字符串类型,如果需要接收整型或浮点型变量,则需要使用类型转换函数

# 输入字符串
a = input()
# 输入整数
b = int(input())
# 输入浮点数
c = float(input())

注意如果输入是浮点数,字符串类型的浮点数(例如"23.4")就不能直接转成整型,否则将会出现报错
需要先将其转换成浮点数,然后再转换成整数。但字符串类型的整型(例如"23")可以直接转换成浮点型(23.0)

# 输入浮点数并直接舍弃小数位转换成整型
d = float(input())
d = int(d)
# 输入浮点数并将其按照四舍五入的规则转成整型
e = float(input())
e = round(e)

(三)输入数字的进制

如果输入的数字是2进制、8进制、16进制等其他进制表示的整数,则可以使用int(num, base = 10)函数进行进制转换,int函数默认转换成10进制。此外,还有以下函数可用于进制转换

  • a = hex(a) :将10进制整数转成16进制整数
  • a = oct(a) :将10进制整数转成8进制整数
  • a = bin(a) :将10进制整数转成2进制整数
# 接收2进制整数
a = int(input(), 2)
# 接收8进制整数
a = int(input(), 8)
# 接收16进制整数
a = int(input(), 16)

如果输入的数是浮点数,需要转换成10进制浮点数
则可使用fromhex()函数将字符串直接转换成浮点小数

a = "0x1.47ae51bp+3"
# 转换成10进制浮点数
a = float.fromhex(a)

(四)接收若干个元素(数量已知)

情况一 若干个元素不在同一行,以换行符间隔

使用for循环多次读取

# 输入格式:
# 3
# 4
# 1
# 5
# 接收输入元素总数
n = int(input())
# 初始化一个空列表存储多个元素
elements = []
for i in range(n):a = int(input())elements.append(a)
情况二 若干个元素在同一行

使用map()、split()实现读取,其中split()函数有一个字符串类型的参数,表示以该字符分割输入,默认值为" ",表示以空格键分割

# 输入样例:23 4 11 55
m, n = map(int, input().split())
# 输入样例:23,4,11,55
m, n = map(int, input().split(","))

(五)接收若干个元素(数量未知)

情况一 若干元素不在同一行,以换行符间隔

使用while循环多次读取,需要设定一个结束读取的标志

# 输入格式:
# 3
# 4
# 1
# 5
# 创建空列表
elements = []
# 设定while循环
while True:temp = input()# 如果用户没有输入,直接按下换行键则停止循环if not temp:breakelements.append(temp)
情况二 若干元素在同一行

同一行的多个元素可以使用空格键、逗号等符号间隔,可以使用split()函数将其存入列表中

# 将数据以一整个字符串的形式存入字符串变量
elements = input()
elements_list = []
elements_list = elements.split(", ")
# 将字符串列表转换成整型列表
elements_int = [int(i) for i in elements_list] 

二、输出

Python的输出主要使用print()和wirte()函数

(一) print()函数用法

print()函数没有返回值,括号内填入要输出的内容,print()有自动换行功能,两个print()函数将分别在上下两行输出结果

  1. 输出单个元素
a = 24
print(a)
  1. 输出列表
    print()函数可以通过读取列表名直接在一行之内输出整个列表,列表元素之间以", "分割,列表两端有方括号标明列表范围
elements = [12,4,2,3,55]
print(elements)
# 输出结果
# [12, 4, 2, 3, 55]
  1. 插入值
name = 'student'
age = 99
# 方法一
print(f'My name is {name},and I am {age} years old.')
# 方法二
print('My name is {},and I am {} years old.'.format(name, age))

(二) write()函数用法

write()需要指定输出为标准输出流还是文件输出流
write()也在括号中填写需要输出的内容,不同的是,write函数中换行需要借助换行符\n显式换行。

  1. 标准输出流
import sys
name = 'student'
age = 99
# 方法一
sys.stdout.write(f'My name is {name},and I am {age} years old.')
# 方法二
sys.stdout.write('My name is {},and I am {} years old.'.format(name, age))

运行结果:

My name is student,and I am 99 years old.My name is student,and I am 99 years old.

  1. 文件输出流
    write()结合open()函数可以实现对其他文件的读取与修改,open()函数主要有两个参数,第一个参数是目标文件的相对路径或绝对路径,第二个参数是操作的类型mode。
    mode有多个值,默认为 ‘r’(只读)。其他常用的模式包括 ‘w’(写入)、‘a’(追加)、‘rb’(二进制读取)等。
name = 'student'
age = 99
with open("output.txt", "w") as file:file.write('My name is {},and I am {} years old.'.format(name, age))

三、格式化字符串

(一)字符串常用语法

用于将两个字符串相连

name = 'Stan'
code = '23'
newstr = name+code  # newstr = 'Stan23'

用于将某一字符串重复n次形成新的字符串

s = 'stan'
another = s*2 # another = 'stanstan'   
  1. [start = 0:stop:step = 1]
    切片常用于截取字符串指定位,它不改变原字符串且有三个参数,
    注意截取的区间左闭右开,[start,stop)
    start:默认值为0,注明新串的起始位置
    stop:注明新串末尾字符的后一位的索引
    step:注明截取的步长,默认值为1

(二)字符串格式化函数

  1. capitalize()
    用途: 将字符串的首字母大写
    是否改变原字符串:否
  2. title()
    用途: 将字符串中每一个单词的首字母大写
    是否改变原字符串:否
  3. upper()
    用途: 将字符串中所有字母大写
    是否改变原字符串:否
  4. lower()
    用途: 将字符串中所有字母小写
    是否改变原字符串:否
  5. strip()
    用途: 去除字符串两边的空白符
    是否改变原字符串:否

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

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

相关文章

03 OSPF 学习大纲

参考文章 1 初步认识OSPF的大致内容(第三课)-CSDN博客 2

【管理篇 / 登录】❀ 07. FortiOS 7.4 初始登录提示 ❀ FortiGate 防火墙

【简介】FortiOS 7.4在初始登录时显示的内容和以前的版本有很大的相同,很多人不熟悉英文和功能,不清楚应该怎么操作,这里就详细的介绍一下。 恢复出厂设置 为了完整的查看到启动配置内容,这里我们先将防火墙恢复出厂。 ① FortiGa…

Chat2DB:AI赋能的多数据库客户端工具,开源领航未来数据库管理

Chat2DB:开源多数据库客户端的AI革新 Chat2DB使用教程:Chat2DB使用教程_哔哩哔哩_bilibili 引言: 随着企业数据的快速膨胀,数据库管理的复杂性也在增加。此时,一个能够跨越数据库边界、并且集成先进的AI功能的工具,不…

从 `go build` 到 `go test`:Go 语言命令行工具全解析

从 go build 到 go test:Go 语言命令行工具全解析 引言go build 命令详解go test 的运用其他重要的 Go 命令结论 引言 在当今的软件开发领域,Go 语言以其简洁、高效和强大的并发处理能力受到广泛的欢迎。作为一门现代编程语言,Go 不仅拥有丰…

多标签节点分类

Multi-Label Node Classification on Graph-Structured Data,TMLR’23 Code 学习笔记 图结构数据的多标签分类 节点表示或嵌入方法 通常会生成查找表,以便将相似的节点嵌入的更近。学习到的表示用作各种下游预测模块的输入特征。 表现突出的方法是基于随机游走(ran…

书籍 - 华杉讲透孙子兵法 - 5

第四章 军形第四 赢了再打 原文 形篇 孙子曰:昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之可胜。故曰:胜可知,而不可为。 华杉详解 …

moon‘s 博客网站部署维护项目说明

项目概述 背景 博客系统致力为广大用户提供优质的互动交流平台,实现对博客发表文章、评论、图片、好友等数据的管理,同时实现了博客内容及时、快速更新的功能,系统不仅保留了传统博客系统的功能,还加上了一些人性化的界面设计,使…

分享flask_socketio配置时遇到的一些问题

flask_socketio 1.前言 flask_socketio应用启动后,在控制台中,存在着flask_socketio这些烦人的log 一堆的get和post几秒一个让我什么都看不清,因此想要关掉log 结果没想到,找了很多办法半天去不掉flask_socketio的log 试过了…

k8s之包管理器Helm

helm的作用就是通过打包的方式,把deployment service ingress这些打包在一块,一键式的部署服务。类似yum官方提供的一个类似与安装仓库的功能,可以实现一键化部署应用。 Helm的三个重要概念 ●Chart:Helm 的软件包,采…

数学建模竞赛实战-Latex公式、表格、图文排版

公式排版 Latex公式排版 行内公式:使用$$包围: 整行公式:使用$$$$包围: 公式编号: 使用$$不能自动编号: 公式编号使用equation: <

中仕教育:省考联考可以报多个省份吗?

省考联考就是多个省份在同一时间进行的公务员招聘考试&#xff0c;极大地增加了考生的选择空间。虽然是联考&#xff0c;但是招录工作都是各省份单独组织的&#xff0c;对于考生来说&#xff0c;省考联考可以报多个省份吗? 首先&#xff0c;每个省份的公务员招聘条件、考试内…

GPIO简单介绍

General Purpose Input Output 通用输入输出口(俗称IO口) 1.可配置为8种输入输出模式 模式名称性质特征浮空输入 数字输入 可读取引脚电平&#xff0c;若引脚悬空&#xff0c;则电平不确定上拉输入数字输入可读取引脚电平&#xff0c;内部连接上拉电阻&#xff0c;悬空时默认…

USB 2.0接口标准

一、USB2.0系统构成 USB&#xff08;UniversalSerialBus&#xff09;体系包括“主机&#xff08;Host&#xff09;”、“设备&#xff08;Device&#xff09;”以及“物理连接&#xff08;Connector&#xff09;”三个部分。其中主机是一个提供USB接口及接口管理能力的…

LeetCode.670. 最大交换

题目 题目链接 分析 这道题的意思是我们只能交换一次&#xff0c;需要得到最大的数字。 我们的第一个想法就是要这个数字先变成一个数组&#xff0c;便于我们操作。 然后把数组最大的数放到第一个位置&#xff0c;如果最大的数字已经在第一个位置&#xff0c;那么就把次大的…

【C++】C++中规范[ 类型转换标准 ] 的四种形式

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.回顾C语言中的类型转换1&#xff09…

RPC框架简介

RPC定义 远程过程调用&#xff08;Remote Procedure Call&#xff09;。RPC的目的就是让构建分布式计算&#xff08;应用&#xff09;更加简单&#xff0c;在提供强大的调用远程调用的同时不失去简单的本地调用的语义简洁性 RPC整体架构 服务端启动时首先将自己的服务节点信息…

一个golang小白使用vscode搭建Ununtu20.04下的go开发环境

文章目录 前言搭建go环境下载go安装包解压go压缩包完成安装配置环境变量编写一个helloword程序 安装VSCode插件安装智能提示插件安装go依赖包修改代理并重新安装依赖包 go.mod 和 go.workgo.modgo.work小试一下go.work 总结 前言 先交代一下背景&#xff0c;距离正式接触golan…

flask 与 小程序 购物车 展示功能

mina/pages/cart/index.wxml <!--index.wxml--> <view class"container"><view class"title-box" wx:if"{{ !list.length }}">购物车空空如也&#xff5e;</view><view class"to-index-btn" bindtap"…

Flutter 综述

Flutter 综述 1 介绍1.1 概述1.2 重要节点1.3 移动开发中三种跨平台框架技术对比1.4 flutter 技术栈1.5 IDE1.6 Dart 语言1.7 应用1.8 框架 2 Flutter的主要组成部分3 资料书籍 《Flutter实战第二版》Dart 语言官网Flutter中文开发者社区flutter 官网 4 搭建Flutter开发环境参考…

【漏洞复现】CloudPanel makefile接口远程命令执行漏洞(CVE-2023-35885)

文章目录 前言声明一、CloudPanel 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 CloudPanel 是一个基于 Web 的控制面板或管理界面&#xff0c;旨在简化云托管环境的管理。它提供了一个集中式平台&#xff0c;用于管理云基础架构的各个方面&#xff0c;包括 &a…