python - 当它显示 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'
解决方案
错误在于这一行
>>> weight_kgs=int('weight_lbs')* 29
如果您使用双引号或单引号,python 认为该值是一个字符串,而不是您之前使用的变量。我们可以通过这样做来解决这个问题
>>> weight_kgs=int(weight_lbs)* 29
这次我们删除了单引号,所以它是一个变量而不是字符串。所以你的代码会起作用。如果您无法理解为什么会发生这种情况,请在评论中告诉我,我会尽力提供帮助
推荐阅读
- c++ - 使用 GridFS 对 mongocxx(mongodb c++ 驱动程序)的 MD5 支持
- python - 如何区分 Python 日志记录中的文件和子模块?
- google-app-engine - 在灵活的 Google App Engine 上,什么会使用 s-maxage 缓存响应以及如何清除该缓存?
- angular - 即使电子邮件格式不正确,Angular 电子邮件控制也有效
- docker - ICMP 在 docker 中使用 blackbox_exporter 检查
- php - 无法使用域访问xampp的主页
- ios - iOS 13 的 PresentationControllerDidDismiss() 在紧凑环境中未调用 Popover
- elasticsearch - 在使用 Hive/弹性连接器索引数据时启用压缩
- angular - 有没有办法等待 DOM 在 Angular 中更新?
- ios - 我可以立即停止第一个 UIView 动画并在同一视图上启动第二个动画吗?