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

Python中如何将split()分割得到的用户输入转换为int整数类型

问题说明

实现需求:提示用户输入四则运算表达式(输入格式参考1 + 1),将输入拆分为第一个运算数x、运算符y、第二个运算数z三个部分,完成对应运算后输出结果。当前核心问题为拆分得到的x、z是字符串类型,无法直接进行数值计算。
原有问题代码:

x, y, z = input("Expression: ").split()

if y == "+":
    output = x + z
    print(output)

elif y == "-":
    output = x - z
    print(output)

elif y == "*":
    output = x * z
    print(output)

elif y == "/":
    output = x / z
    print(output)
错误原因

input()方法返回值默认为字符串类型,split()拆分后得到的x、z均为字符串,而非数值:

  • 对字符串使用+运算符会执行字符串拼接,比如输入1 + 1时会输出错误结果11
  • 对字符串使用-/*//运算符会直接触发TypeError,程序直接崩溃
解决方法

拆分输入后,调用int()方法将x、z显式转换为整数类型即可,修复后可正常执行算术运算。
修复后完整代码:

x, y, z = input("Expression: ").split()
# 将字符串格式的运算数转为整数
x = int(x)
z = int(z)

if y == "+":
    res = x + z
elif y == "-":
    res = x - z
elif y == "*":
    res = x * z
elif y == "/":
    # 要整数除法结果换为//,要浮点结果保留/即可
    res = x / z

print(res)
扩展提示
  • 如果需要支持小数运算,把int()替换为float()即可
  • 上述代码默认用户输入严格符合运算数 运算符 运算数的空格分隔格式,若需要兼容非法输入,可以额外添加异常捕获、格式校验逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 11:03:20