簡體   English   中英

如何在Python中將字符串轉換為整數

[英]How do you convert a string to an integer in 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)

我嘗試運行代碼,盡管將變量num_cube轉換為字符串以對其進行切片,但在第22行(​​最后一行)卻遇到TypeError。 為什么不起作用?

str(num_cube)未分配,因此您正在轉換它,但仍使用num_cube它是一個整數),因此使用TypeError 另外,你需要將其與另一個字符串,不向num這是另一個整數:

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

您應該使用endswith函數檢查多維數據集中的最后“ n”個字符是否等於所傳遞數字的字符串表示形式。

因此,您可以這樣做:

print(str(num_cube).endswith(num))

您當前實現它的方式是對“從標准輸入”讀取的數字的預期長度進行“硬編碼”,並因此假設其始終為長度1。

要更正您的代碼,請執行以下操作:

>>> num = "24"
>>> num_cube = str(pow(int(num), 3))
>>> num_cube[len(num_cube) - len(num):] == num
True
>>> num_cube[-len(num):] == num # negative indexing
True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM