如何从input()中正确声明int和str混合类型的变量
解决混合类型输入的提取问题
原代码用map(int, input().split())会报错,因为最后一个输入项是字符串类型,无法直接转成整数。要正确提取前四个整数和最后一个字符串,按以下步骤来:
先把输入内容分割成纯字符串列表
parts = input().split()这一步会把示例输入
1 12 7 14 u拆成['1', '12', '7', '14', 'u']。单独转换前四个元素为整数,最后一个元素直接保留字符串
方法一:分两行赋值iLig1, iCol1, iLig2, iCol2 = map(int, parts[:4]) carac = parts[4]方法二:一行完成解包赋值
iLig1, iCol1, iLig2, iCol2, carac = (*map(int, parts[:4]), parts[4])验证效果
运行代码后输入示例内容,前四个变量会是int类型,carac是str类型,完全符合需求。
内容的提问来源于stack exchange,提问作者Clément Maujean
相关产品推荐
相关产品推荐

