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

输入整数被识别为string格式报错,如何正确获取输入整数?

Python输入整数并格式化输出的错误修正

问题根源

你的代码存在两个关键错误:

  1. 输入类型未转换:input()函数获取的所有输入默认都是字符串类型,而%d是整数格式化符,要求传入数字类型,直接使用会触发TypeError。
  2. 格式化传参错误:print("%d,%d,%d,%d,%d" %("num1,num2,num3,num4,num5"))中,你传入的是一个拼接了变量名的字符串,而非五个变量本身,这既不匹配格式化符的数量要求,也不是有效数字。

修正方案

方案1:转换输入类型并正确传参

将每个输入通过int()转换为整数,同时格式化时传入变量组成的元组:

num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
num3 = int(input("Enter third number: "))
num4 = int(input("Enter fourth number: "))
num5 = int(input("Enter fifth number: "))

print("\n")
print("%d,%d,%d,%d,%d" % (num1, num2, num3, num4, num5))

方案2:使用更简洁的f-string(推荐)

Python 3.6及以上版本支持f-string,写法更直观且不易出错:

num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
num3 = int(input("Enter third number: "))
num4 = int(input("Enter fourth number: "))
num5 = int(input("Enter fifth number: "))

print("\n")
print(f"{num1},{num2},{num3},{num4},{num5}")

额外提示

如果需要处理用户输入非数字的情况,可以添加异常捕获避免程序崩溃:

try:
    num1 = int(input("Enter first number: "))
    num2 = int(input("Enter second number: "))
    num3 = int(input("Enter third number: "))
    num4 = int(input("Enter fourth number: "))
    num5 = int(input("Enter fifth number: "))
    
    print("\n")
    print(f"{num1},{num2},{num3},{num4},{num5}")
except ValueError:
    print("请输入有效的整数!")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:05:32