网站建设和微信小程序/各大引擎搜索入口
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
语法参考
sys.stdin是一个标准化输入对象,可以连续输入或读入文件所有内容,不结束,不能直接使用。输入完成后,再对输入数据进行处理,这是sys.stdin的强大之处。sys.stdin.readline()方法和sys.stdin.readlines()方法是经常用到的方法,sys.stdin.readline()方法输入一行,输完成后自动添加’\n’。sys.stdin.readlines()可以连续输入数据,此时可以将输入的数据作为一个整体进行使用。sys.stdin.readline()的基本用法如下:
sys.stdin.readline()
使用sys.stdin.readline()与input()方法都可以实现标准化输入,但两者有以下区别:
l sys.stdin.readline()方法不能填写提示输入信息的说明文字,但input()方法在括号内可以直接填写输入信息相关的说明文字,如input('请输入您的名字:')。
l sys.stdin.readline()方法会在输入新后加“\n”换行符,而input()方法在输入完成后不会添加任何内容。要想取消sys.stdin.readline()方法添加的换行符“\n”,可以使用strip('\n') 去除换行符。
下面代码获取用户输入内容的长度,可以比较一下sys.stdin.readline()和input()输入内容的区别。代码如下:
import sys
line1 = sys.stdin.readline() # 包含换行符"\n"
line2 = sys.stdin.readline().strip('\n') # 去掉换行符"\n"
line3 = input("") # 不包含换行符"\n"
print(len(line1), len(line2), len(line3))
输出结果如下:
要输入多行数据,使用sys.stdin.readlines()方法是最有效的,该方法可以连续输入多行,输入完成时,需要回车到空行,然后按ctrl+D输出结果。应用参见锦囊2。简单实现多行输入的代码如下:
import sys
message = sys.stdin.readlines()
print(message)
用户连续输入多行信息,如图1所示,输入完成后,回车到空行,然后按ctrl+D输出结果如图2所示:
图1 输入多行数据
图2 输出显示
快用锦囊
锦囊1:常规输入相关内容
sys.stdin.readline()方法不能添加输入提示说明文字,如果要添加提示说明文字,需要使用print()方法进行输入信息提示,代码如下:
import sys
print('请输入您的名字: ')
name = sys.stdin.readline()
print('您输入的名字为: ', name)
程序运行结果如下:
锦囊2:将输入作为整体进行处理
在批量输入数据的时候,经常需要输完数据后在对数据做统一处理,如对数据统一编号、格式处理等,sys.stdin.readlines可以直接将输入的数据作为整体,输入完成后再做数据处理,如将用户输入的姓名前统一加上3位数字编号,输入完成时一定要回车,然后按“ctrl +D”输出程序运行结果。程序代码如下:
import sys
index=0 # 初始化编号
for line in sys.stdin.readlines(): # 按行读取输入的数据
line = line.strip() # 去掉空格和换行符
index=index+1 # 编号递进加1
if line: # 如果行输入不为空
txt=str(index).zfill(3)+" "+ line # 将输入的数据前加上3位编号
print (txt)
运行程序,输入数据,如图3所示,结束输入时需要先回车到空行,然后按“ctrl +D”输出程序运行结果,如图4所示。
锦囊3:根据两点坐标计算直线的斜率
在勘探、地理探测工作中,有时需要根据输入空间的位置计算两点(x1,y1)(x2,y2)形成直线的斜率,斜率的计算公式为:(y2 - y1) / (x2 - x1),下面编写一个程序,根据用户输入的两点坐标计算直线斜率k。代码如下:
import sys
print('请输入两点的4个坐标值,形式为x1 y1 x2 y2,用空格间隔!!')
while True:
line = sys.stdin.readline()
if line == '\n': break
x1, y1, x2, y2 = (float(x) for x in line.split())
k = abs(y2 - y1) / abs(x2 - x1)
print('两点坐标的斜率为:',format(k,'.2f'))
运行程序,输出结果如图5所示。
图5 两点坐标斜率
也可以直接使用sys.stdin对象输入数据,然后循环读取sys.stdin对象的数据。下面使用sys.stdin对象根据两点坐标计算直线的斜率,代码如下:
import sys
print('请输入两点的4个坐标值,形式为x1 y1 x2 y2,用空格间隔!!')
for line in sys.stdin:
if line == '\n': break
x1, y1, x2, y2 = (float(x) for x in line.split())
k = abs(y2 - y1) / abs(x2 - x1)
print( format(k,'.2f'))
锦囊4:利用sys.stdin读取文件信息
sys.stdin是一个普通文件对象,除了从标准输入读取内容以外,也可以使用sys.stdin调用读取文件信息。如读取文件”gjqh.txt”的所有国家区号,然后调用readlines函数将前3位为“* 8”的区号输出出来,实现代码如下:
import sys
fileName='gjqh.txt'
def readfile(file,ord): # 定义查询电话区号的函数readfile
with open(file) as txt: # 将国际区号信息文件赋值给变量txt
sys.stdin = txt # 将变量txt的数据赋值给sys.stdin对象
for line in sys.stdin.readlines(): # 按行读取sys.stdin对象的数据
line=line.strip() # 去除空格
if line [0:3]==ord: # 按每行数据的前3个字符查询
print(line) # 输出查询结果
readfile(fileName,'* 8') # 调用readfile(),查询国际区号前三个字符是 '* 8'的国家或地区
运行程序,输出效果如图6所示。
图6 读取文件
相关文章:

sys.stdin对象——实现标准输入
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 sys.stdin是一个标准化输入对象,可以连续输入或读入文件所有内容,不结束,不能直接使用。输入完成后&am…...

嵌入式项目分享| 终极智能手表,全过程+全开源分享
这是一个非常完整的智能手表开源项目,功能齐全,且资料开源,如果你是:自己平时喜欢diy的工程师,想要提升开发技能的学生,马上要做毕设的大四学生,这个手表很值得一做,别错过了~~ 所有开源的资料以及原文链接见文末。 先来看下这个手表的功能: 首先,是一个可以佩戴的手…...

【Linux详解】进程的状态 | 运行 阻塞 挂起 | 僵尸和孤儿状态
目录 操作系统中 运行状态 阻塞状态 进程状态转换 Linux系统中 查看进程状态 深度睡眠状态 T 暂停状态 Z 僵尸状态 孤儿状态 文章手稿 xmind: 引言 介绍系统中的进程状态及其管理方式。将通过结合操作系统原理和实际代码示例,详细说明进程的各种状态、转换…...

MySQL添加外键约束经典案例
1DDL建表语句 需要一个emp员工表和一个dept部门表 CREATE TABLE emp (id int NOT NULL AUTO_INCREMENT,name varchar(50) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT 姓名,age int DEFAULT NULL COMMENT 年龄,job varchar(20) COLLATE utf8mb4_0900_as_ci DEFAULT NULL CO…...

vue3监听器watch以及watchEffect的使用
一,watch()简介: 侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 watch()默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。 watch()一共有三个参数 第一个参数:侦听器的源,可以为以…...

modelsim做后仿真的一点思路
这是以TD_5.6.3_Release_88061生成的网表文件(其他工具生成的网表文件类似),与modelsim联合进行门级仿真的样例,时序仿真与门级仿真的方法类似,只是增加了标准延时文件。 1、建立门级仿真工程 将门级网表和testbench添…...

如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区
如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区 1. 问题背景 有时我们需要获取特定 HIVE 库下所有分区表,或者所有分区表的所有分区,以便执行进一步的操作,比如通过 使用 HIVE 命令 MSCK REPAIR TABLE table_name sync partiti…...

如何在 qmake(QtCreator)中指定 Mac 平台
在 Qt 项目文件(.pro 文件)中设置针对 Mac OS 的配置项。通常情况下,我们可以使用如下方式为 Windows 和 Unix 系统分别添加源文件: win32 {SOURCES += hellowin.cpp } unix {SOURCES += hellounix.cpp }虽然 Mac OS 是类 Unix 系统,但有时我们仍然需要区分它和 Linux 系…...

day39动态规划part02| 62.不同路径 63. 不同路径 II 343. 整数拆分 (可跳过)96..不同的二叉搜索树 (可跳过)
**62.不同路径 ** 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 题目讲解 | 视频讲解 class Solution { public:int uniquePaths(int m, int n) {// 确定数组及其下标的含义int dp[101][101] {0}; //到达i,j的点有多少条路径// 确定递推…...

声场合成新方法:基于声波传播的框架
声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后…...

鸿蒙文件操作事前准备
13900001,沙箱13900002 首选授权 module授权配置 "requestPermissions": [{ "name": "ohos.permission.CAMERA",}, { "name": "ohos.permission.READ_MEDIA",}, { "name": "ohos.permission.WR…...

AI智能时代:ChatGPT如何在金融市场发挥策略分析与预测能力?
文章目录 一、ChatGPT在金融策略制定中的深度应用客户需求分析与定制化策略市场动态跟踪与策略调整策略分析与优化 二、ChatGPT在算法交易中的深度应用自动交易策略制定交易执行与监控风险管理 三、未来展望《智能量化:ChatGPT在金融策略与算法交易中的实践》亮点内…...

C#面:C#属性能在接口中声明吗?
在C#中,接口是一种定义了一组方法、属性和事件的类型。在接口中,只能声明方法、属性和事件的签名,而不能包含字段、构造函数或实现代码。因此,C#属性不能直接在接口中声明。 然而,你可以在接口中定义属性的签名&#…...

区块链的历史和发展:从比特币到以太坊
想象一下,你住在一个小镇上,每个人都有一个大账本,记录着所有的交易。这个账本很神奇,每当有人买卖东西,大家都会在自己的账本上记一笔,确保每个人的账本都是一致的。这就是区块链的基本思想。而区块链的故…...

input()函数——输入
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 input()函数可以提示并接收用户的输入,将所有的输入按照字符串进行处理,并返回一个字符串,input()函数的…...

CST 时间格式减去八小时
问题: 查看服务器时间是正确的,但输出出来的时间,比此时多出来八个小时。这里直接把时间减去八个小时。 public static void main(String[] args) throws ParseException {// 设定原始时间格式try {SimpleDateFormat dateFormat new SimpleDateFormat(&…...

植物大战僵尸杂交版技巧大全(附下载攻略)
《植物大战僵尸杂交版》为策略游戏爱好者带来了全新的挑战和乐趣。如果你是新手玩家,可能会对游戏中的植物和僵尸感到困惑。以下是一些实用的技巧,帮助你快速掌握游戏并享受其中的乐趣。 技巧一:熟悉基本玩法 游戏的基本玩法与原版相似&…...

HTTPS 代理的优点和缺点是什么?
HTTPS代理的优点包括提供更好的安全性、支持验证、速度、匿名性、节省带宽。 安全性:HTTPS代理通过使用SSL/TLS协议对传输的数据进行加密,保护用户的数据传输安全,防止中间人攻击和窃听,确保数据的安全性。 速度:HTTPS…...

Mac安装多版本node
Mac下使用n模块去安装多个指定版本的Node.js,并使用命令随时切换。 node中的n模块是,node专门用来管理node版本的模块,可以进行node版本的切换,下载,安装。 1.安装n npm install -g n 2.查看版本 n --version 3.展…...

HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…...

【机器学习300问】125、什么是双向循环神经网络(BRNN)?什么是深度循环神经网络(DRNN)?
一、双向循环神经网络 (1)诞生背景 双向循环神经网络(Bidirectional Recurrenct Neural Network, BRNN)是在深度学习领域发展起来的一种特殊类型的循环神经网络(RNN),它诞生的背景是为了解决传…...

办公软件汇总
1、OCR 1.1 pearOCR pearOCR 是一个免费的免费在线文字提取OCR工具网站。PearOCR界面简洁,所有过程均在网页端完成,无需下载任何软件,点开即用。官方地址:https://pearocr.com/ 参考:9款文字识别(OCR)工具…...

Docker 搭建 MinIO 对象存储
Docker 搭建 MinIO 对象存储 一、MinIO MinIO 是一个高性能的对象存储服务器,用于构建云存储解决方案。MinIO 允许你存储非结构化数据(如图片、视频、日志文件等)以对象的形式。MinIO 提供简单的部署选项和易于使用的界面,允许你…...

主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络
主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络:中文详解 1. 简介 YOLOv5 和 YOLOv7 是目前主流的目标检测算法之一,具有速度快、精度高的特点。但 YOLOv5 和 YOLOv7 的原始模型结构中使用的是 MobileNetV3 作为骨干网络&am…...

CubeFS - 新一代云原生存储系统
CubeFS 是一种新一代云原生存储系统,支持 S3、HDFS 和 POSIX 等访问协议,支持多副本与纠删码两种存储引擎,为用户提供多租户、 多 AZ 部署以及跨区域复制等多种特性。 官方文档 CubeFS 作为一个云原生的分布式存储平台,提供了多种访问协议,因此其应用场景也非常广泛,下面…...

推动多模态智能模型发展:大型视觉语言模型综合多模态评测基准
随着人工智能技术的飞速发展,大型视觉语言模型(LVLMs)在多模态应用领域取得了显著进展。然而,现有的多模态评估基准测试在跟踪LVLMs发展方面存在不足。为了填补这一空白,本文介绍了MMT-Bench,这是一个全面的…...

深度学习31-33
1.负采样方案 (1)为0是负样本,负样本是认为构造出来的。正样本是有上下文关系 负采样的target是1,说明output word 在input word之后。 2.简介与安装 (1)caffe:比较经常用于图像识别,有卷积网…...

Docker多种场景下设置代理
20240623 - 公司内网环境下需要对Docker进行代理设置;此时需要对拉取镜像的时候的命令设置代理;例如平时经常使用的wget设置代理一样。但对docker进行设置,并不能简单的直接export。 文章[1]指出,拉取镜像的时候实际执行的是doc…...

node 实现导出, 在导出excel中包含图片(附件)
如果想查看 node mySql 实现数据的导入导出,以及导入批量插入的sql语句,连接如下 node mySql 实现数据的导入导出,以及导入批量插入的sql语句-CSDN博客https://blog.csdn.net/snows_l/article/details/139998373 一、效果如图: 二…...

【ai】trition:tritonclient yolov4:ubuntu18.04部署python client成功
X:\05_trition_yolov4_clients\01-python server代码在115上,client本想在windows上, 【ai】trition:tritonclient.utils.shared_memory 仅支持linux 看起来要分离。 【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 运行 client代码远程部署在ubuntu18.0…...