python ACM格式 || stdin和input的区别 || acm中常用的函数

疑问

在acm格式里有两种方法读取用户输入:

  • import sys 然后使用 sys.stdin
  • input()
    但隐隐约约感觉这两个方法读到的数据在最后一行有些问题
    导致我在使用stdin时候,需要使用正则表达式:re.split(‘[,\n]’,textline)来把一个以逗号分割的字符串彻底分开

stdin和input的区别

在 Python 中,input()sys.stdin 都用于从用户获取输入,但它们之间有一些重要的区别:

  1. input() 函数

    • input() 函数是内置函数,用于从标准输入(通常是键盘)读取用户输入的一行文本。
    • 它会提示用户输入,并且等待用户输入完成后,返回用户输入的字符串。
    • input() 函数始终返回一个字符串对象。

    示例:

    name = input("Enter your name: ")
    print("Hello, " + name)
    
  2. sys.stdin

    • sys.stdin 是 Python 中的标准输入流对象,它来自于 sys 模块。
    • input() 不同,sys.stdin 不会自动提示用户输入,而是直接从标准输入中读取数据。
    • 通常需要使用 sys.stdin.readline() 方法来读取用户输入的一行文本。
    • sys.stdin.readline() 返回的是一个包含用户输入的字符串的行,包括结尾的换行符 \n,需要根据需要进行处理。

    示例:

    import sys
    name = sys.stdin.readline().strip()  # 使用 strip() 方法去除结尾的换行符
    print("Hello, " + name)
    

主要区别

  • input() 提供了更简单的方式来获取用户输入,因为它自动提示用户输入并返回一个字符串,但它只能从标准输入(通常是键盘)读取。
  • sys.stdin 则更加灵活,可以从任何文件对象中读取输入,而不仅仅是标准输入。但它需要手动处理用户输入以及可能出现的换行符等情况。

常用函数:

  1. map(函数名,迭代对象:一般是数组):
    作用是把后面迭代对象通过前面的函数,转化成另外一个数组
    但是在print(这个返回结果)时需要注意:py3中会返回一个object对象
    如果想得到数组,需要外加一层list()
    map函数可以使匿名函数lambda
    map(lambda x:x**2,[1,2,3,4,5])

  2. try:…except:…
    用于在没有给定组数的时候,except后面经常跟的是break

  3. join(可迭代对象:一般是已经排好序的数组)
    在需要输出用逗号分隔的字符串print(','.join(['a','bb','c']))

  4. strip()用于处理掉字符串开始和结束的空白格

  5. split()用于处理掉字符串中间的空格,第一个参数是你需要指定的分割符,第二个参数可以设定分割次数

牛客的acm格式练习题

牛客acm界面

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

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

相关文章

C++资产设备管理系统

一、引言 1.1 项目设计背景及意义 1.1.1理论研究基础 (1)C在C的基础上增加了面向对象的机制。 (2)充分利用面向对象机制中的多态性实现函数的设计。 1.1.2 技术层面的支持 运用系统为C面向对象程序设计提供的各种设计方法和V…

24.park和unpark方法

1.park方法可以暂停线程,线程状态为wait。 2.unpark方法可以恢复线程,线程状态为runnable。 3.LockSupport的静态方法。 4.park和unpark方法调用不分先后,unpark先调用,park后执行也可以恢复线程。 public class ParkDemo {pu…

冗余双写方案下数据一致性问题解决及延申问题处理方案

主要整理了采用冗余双写方案后的问题解决方案。 1、问题:冗余双写场景下,如何解决数据一致性问题? 方案一: 直接RPC调用Seata分布式事务框架,采用该方式实现了事务的强一致性,代码逻辑简单的同时业务侵入…

【题解】—— LeetCode一周小结12

【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结11 18.区域和检索 - 数组不可变 题目链接:303. 区域和检索 - 数组不可变 1.计算索引 left 和 right (包含 left 和 right)之间的 nums 元素的 和 ,其…

2024年腾讯云服务器租用价格_轻量和CVM报价

腾讯云服务器价格表2024年最新价格,轻量2核2G3M服务器61元一年、2核2G4M服务器99元1年,三年560元、2核4G5M服务器165元一年、3年900元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、8核32G配置115元1个月,345元3个月。CVM云服务…

React或Vue与后端通讯的跨域问题处理

解决React或Vue与后端通讯的跨域问题通常有以下几种方法: 后端设置CORS(最常用) 在PHP后端代码中添加响应头,允许特定的前端域名来进行跨域请求。例如: header("Access-Control-Allow-Origin: http://你的前端域名…

嵌入式学习46——硬件相关2串口通信

串口: 端口: COM 波特率: 9600 115200 (bps) 每秒传输的数据…

遍历+length

不要把遍历当做打印? package src.arraydemo;public class ArrayDemo3 {public static void main(String[] args) {int arr[]{1,2,3,4,5,4,5,5,5,6}; // 遍历1// System.out.println(arr[0]); // 遍历2//在Java中有一个关于数组的长度属性&#xff0…

Multimodal Chain-of-Thought Reasoning in Language Models阅读笔记

论文(2023年)链接:https://arxiv.org/pdf/2302.00923.pdf GitHub项目链接:GitHub - amazon-science/mm-cot: Official implementation for "Multimodal Chain-of-Thought Reasoning in Language Models" (stay tuned a…

14:有效的符号

给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

前端-html-02

1.列表 标签名功能和语义属性单标签还是双标签ul无序列表包裹元素双标签 ol 有序列表包裹元素双标签li列表项双标签dl定义列表包裹元素双标签dt定义列表项标题双标签dd定义列表项描述双标签 li必须由Ul或者ol包裹 <!DOCTYPE html> <html><head><…

腾讯云4核8G12M轻量服务器性能测评,支持多少人同时在线?

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

自主高动态范围相位展开

💡 摘要: 基于图像的波前传感方法,如自适应修改的Gerchberg-Saxton相位恢复算法(MGS),需要一个先验相位知识的矩阵来避免在估计过程中出现高动态范围的“相位包裹”现象。以前的解包裹方法取得了有限的成功,或者需要一定程度的专家干预。我们成功地开发了一种方法和算…

VMware虚拟化平台巡检:详细规范与实操技巧

1.1 检测多个主机之间是否有相同的软件版本 巡检项目 巡检办法 结果 检测多个ESXi主机间是否有不同的软件版本 通过图形化方法: 为了获得ESXi主机的版本信息&#xff0c;使用VS Client&#xff0c;点击给定ESXi主机的配置标签。 为了获得VC的版本信息&#xff0c;通过使用V…

文件(夹)命令行比较工具和一个图形界面比较工具

命令行比较工具&#xff1a;diff windows上需要在git bash中运行 比较文件夹&#xff1a;diff -r -q dir1 dir2 图形界面比较工具&#xff1a; Beyond Compare 参考资料&#xff1a; https://blog.51cto.com/u_13045706/6263517 https://www.cnblogs.com/dehuachenyunfei/…

利用图像识别进行疾病诊断

利用图像识别进行疾病诊断是人工智能和机器学习技术在医疗领域的一个重要应用。图像识别技术可以通过分析医学影像&#xff08;如X光片、CT扫描、MRI、超声波图像等&#xff09;来辅助医生诊断疾病。以下是图像识别在疾病诊断中的关键步骤和挑战&#xff1a; 数据收集与预处理…

7.JDK下载和安装

文章目录 一、下载二、安装三、JDK的安装目录介绍 写JAVA代码不是随随便便能写的&#xff0c;我们得先做一点准备工作。例如&#xff0c;我们平时想要玩一把游戏&#xff0c;就需要先下载、安装才能玩游戏。JAVA也是一样的&#xff0c;也是需要下载并安装相关的软件&#xff0c…

Avalonia笔记2 -数据集合类控件

学习笔记&#xff1a; 1. DataGrid 笔记1中已经记录&#xff1b; 2. ItemsControl 属性&#xff1a; ItemsSource&#xff1a;数据源 ItemsControl.ItemTemplate&#xff1a;单项数据模板&#xff0c;内部使用<DataTemplate> 示例&#xff1a; <ItemsContr…

【启发式算法】同核分子优化算法 Homonuclear Molecules Optimization HMO算法【Matlab代码#70】

文章目录 【获取资源请见文章第4节&#xff1a;资源获取】1. 算法简介2. 部分代码展示3. 仿真结果展示4. 资源获取 【获取资源请见文章第4节&#xff1a;资源获取】 1. 算法简介 同核分子优化算法&#xff08;Homonuclear Molecules Optimization&#xff0c;HMO&#xff09;是…

【React】React 组件 API

React组件的API是指React组件可以使用的一系列方法和属性,等。以下是React组件API的一些主要部分: setState 在 React 类组件中,setState 是一个重要的方法,用于更新组件的状态。当状态发生变化时,React 会重新渲染该组件以及其子组件,以反映最新的状态。下面是一…