首页 > 解决方案 > 如何在 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 转换为字符串以便对其进行切片。为什么它不起作用?

标签: pythonstringinteger

解决方案


str(num_cube)没有分配,所以你正在转换它,但仍然使用num_cubewhich 是一个 int,因此TypeError. 此外,您需要将其与另一个字符串进行比较,而不是与num另一个整数进行比较:

print(str(num_cube)[-3:] == str(num))

推荐阅读