python - 如何在 Python 中将字符串转换为整数
问题描述
""" 三态数是一个数,其立方以数本身结尾。
例如:
Input: 4
Output: true (4^3 is 64, which ends in 4)
Input: 24
Output: true (24^3 = 13824)
Input: 249
Output: true (249^3 = 15438249)
编写一个程序来检查用户输入是否是三态数。"""
num = int(input("Enter a number:"))
print(num)
num_cube = pow(num, 3)
str(num_cube)
print(num_cube[len(num_cube) - 1:] == num)
我尝试运行代码,但在第 22 行(最后一行)出现 TypeError,即使我将变量 num_cube 转换为字符串以便对其进行切片。为什么它不起作用?
解决方案
str(num_cube)
没有分配,所以你正在转换它,但仍然使用num_cube
which 是一个 int,因此TypeError
. 此外,您需要将其与另一个字符串进行比较,而不是与num
另一个整数进行比较:
print(str(num_cube)[-3:] == str(num))
推荐阅读
- python - 没有已知父包的相对导入
- lstm - 尝试使用 MinMaxScaler()。但是索引是日期时间格式。我该如何解决?
- html - 笔记本电脑屏幕上的笔记本电脑 CSS 未更改
- inno-setup - 计划任务在 Inno Setup 中隐藏运行
- ios - 请求相机权限 IOS Delphi
- r - 将行添加到 table1 函数 r
- machine-learning - TypeError:在拟合 keras 模型时,只能将 size-1 数组转换为 Python 标量
- javascript - 方法可以是纯函数吗?
- python - 在 Colab 和本地运行相同的代码会产生不同的结果。不涉及随机化或神经网络训练
- python - 使用 X86 主机在 Arm docker 上录制声音失败 - pyaudio