You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从一行输入中分别获取整数与字符串

从一行输入中提取整数和带空格的字符串

这个问题我之前也碰到过,默认的split()方法会把所有空白字符都当作分隔符,自然没法保留后面带空格的文本。不过有几个简单的办法可以完美解决:

方法1:使用split(maxsplit=1)

这是最直接的方案,maxsplit参数可以指定拆分的最大次数。设置为1时,只会在第一个空白处拆分字符串,后面的所有内容都会完整保留:

# 获取输入并去除首尾多余空格
input_line = input().strip()
# 只拆分一次,得到两个部分
parts = input_line.split(maxsplit=1)
# 第一部分转成整数,第二部分直接保留
number = int(parts[0])
text_content = parts[1]

# 测试输出
print(number)       # 输出:10
print(text_content) # 输出:I love coding

方法2:使用partition()方法

partition()会把字符串按指定分隔符拆成三个部分:分隔符前的内容、分隔符本身、分隔符后的内容。我们可以用空格作为分隔符,忽略中间的分隔符部分:

input_line = input().strip()
# 按第一个空格拆分
num_str, _, text = input_line.partition(' ')
number = int(num_str)

# 测试输出
print(number) # 输出:10
print(text)   # 输出:I love coding

额外提示:增加健壮性

如果需要处理输入不规范的情况(比如开头不是整数),可以加上异常捕获:

try:
    input_line = input().strip()
    parts = input_line.split(maxsplit=1)
    number = int(parts[0])
    text_content = parts[1]
    print("提取成功:", number, text_content)
except (ValueError, IndexError):
    print("输入格式不正确,请确保以整数开头,后跟文本内容")

内容的提问来源于stack exchange,提问作者Divakar Rajesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:37:01