首页 > 解决方案 > 当它显示 int() 以 10 为底的无效文字时我该怎么办。我已经仔细检查了整个语法并且没有错误信息

问题描述

Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> weight_lbs=input("weight(lbs)- ")
weight(lbs)- 46
>>> weight_kgs=int('weight_lbs')* 29
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'weight_lbs'

标签: python

解决方案


错误在于这一行
>>> weight_kgs=int('weight_lbs')* 29

如果您使用双引号或单引号,python 认为该值是一个字符串,而不是您之前使用的变量。我们可以通过这样做来解决这个问题

>>> weight_kgs=int(weight_lbs)* 29

这次我们删除了单引号,所以它是一个变量而不是字符串。所以你的代码会起作用。如果您无法理解为什么会发生这种情况,请在评论中告诉我,我会尽力提供帮助


推荐阅读