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

为何Python的int()函数无法将输入的数字转换为整数?

问题分析与修正

你的代码存在两个关键问题:

  1. 类型转换未赋值:int(start)仅执行了转换操作,但没有将转换后的整数重新赋值给start变量。Python中类型转换函数会返回新的对象,不会修改原变量,所以原start仍然是输入时的字符串类型。
  2. 未定义变量num:代码中打印type(num),但num从未被定义,运行时会触发NameError。

修正方案一:在函数内部完成赋值

import datetime

def random(start, stop):
    # 将转换后的整数重新赋值给start
    start = int(start)
    print(type(start))
    print(type(stop))
    # 定义num变量,可根据实际需求修改值
    num = 10
    print(type(num))
  
a = input("enter")
b = input("enter")
random(a, b)

修正方案二:在调用函数前转换输入类型

import datetime

def random(start, stop):
    print(type(start))
    print(type(stop))
    num = 10
    print(type(num))
  
# 先转换输入为整数,再传入函数
a = int(input("enter"))
b = int(input("enter"))
random(a, b)

注:如果代码没用到datetime模块,可直接删除import datetime语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:35:11