Python如何实现input输入内容自动识别拆分单词与数字
实现方案
最简便的方式是直接对输入结果做字符串切分+类型转换,不需要额外引入第三方库。
基础版本(无校验)
如果确定用户会严格按照「单词 数字」的空格分隔格式输入,几行代码就能实现:
# 按空白字符切分输入内容,自动忽略首尾多余空格、多空格分隔的情况 word, number_str = input("Enter a word and a number: ").split() # 把数字部分转成整数类型 number = int(number_str)
运行后输入hello 14,就能直接得到word = "hello"、number = 14的结果,完全匹配你要的识别效果。
带容错校验版本
如果要避免用户输入格式错误导致程序崩溃,可以加简单的输入校验逻辑:
while True: input_content = input("Enter a word and a number: ") parts = input_content.split() # 校验输入段数 if len(parts) != 2: print("格式错误,请按「单词 数字」格式输入,两项内容中间用空格分隔") continue word, num_part = parts # 校验数字合法性,支持负整数识别 if not num_part.lstrip('-').isdigit(): print("输入的第二项不是有效整数,请重新输入") continue number = int(num_part) break # 校验通过后可直接使用word、number两个变量做后续逻辑
适配带空格单词的调整方案
如果允许输入的单词本身包含空格(比如hello world 14要识别为单词是hello world、数字是14),只需要调整切分逻辑,固定把最后一段作为数字解析,前面所有段拼接为单词即可:
parts = input("Enter a word and a number: ").split() if len(parts) >= 2 and parts[-1].lstrip('-').isdigit(): word = ' '.join(parts[:-1]) number = int(parts[-1])
内容的提问来源于stack exchange,提问作者Swampy
相关产品推荐
相关产品推荐

