python以特定字符结束输入_如何在Python中使用raw_input()停止从用户读取特定字符后的输入?...

在Python编程中,如果需要在遇到特定字符如'-1'时停止从用户那里读取输入,可以使用不同的方法。例如,通过`sys.stdin.read(1)`逐个读取字符,或者通过解析空格分隔的标记来实现。本文介绍两种实现方式,一种是在遇到'1'且已看到'-'时停止,另一种是将输入按空格分割,直到遇到'-1'为止。
摘要由CSDN通过智能技术生成

... The sequence never stops. Example: 1 2 -1 2 -3 -1 34 12 ...................... it never stops. But I have to stop reading if I encounter -1.

raw_input()始终读取整行。在

如果您不想阅读整行内容,可以改为尝试sys.stdin.read(1):import sys

def read_until_minus_one():

buf = []

seen_minus = False

while True:

char = sys.stdin.read(1)

if not char: # EOF

break

if char == '1' and seen_minus:

buf.pop() # chop the last minus

break # seen -1

else:

seen_minus = (char == '-')

buf.append(char)

return ''.join(buf)

print(read_until_minus_one())

输出12 22 -23 13

注意:只要-1被读取,它就会停止。在本例中,后续的sys.stdin.read(1)返回{}。在

如果您只想在-1作为空格分隔标记(而不是-12中作为数字的一部分)时停止,则输入解析可以分为两个阶段:将输入拆分为空格分隔的标记

获取令牌,直到遇到-1#!/usr/bin/env

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值