簡體   English   中英

Python:在遞歸函數中將str轉換為int

[英]Python: convert str to int inside a recursive function

我正在學習遞歸函數,並制作了一個簡單的“ 字符串轉換為ASCII ”轉換器,該轉換器返回字符串中每個字符的ASCII值。

到目前為止,這是我所做的:

def cod(n):
    if n == "":
        return "" 
    else:
        a = str(ord(n[0])) + cod(n[1:])
        return a

這樣工作正常:

=> cod('hello')
=> '104101108108111'

問題是當我試圖獲取一個int作為輸出而不是一個string 我不能簡單地轉換變量a因為它是一個遞歸函數,並且不可能在int上進行迭代。

在這之后,我有點迷茫了,有人可以指出如何將int作為此遞歸函數的最終結果嗎?

def cod(n):
    if n == "":
        return "" 
    else:
        a = str(ord(n[0])) + str(cod(n[1:]))
        return int(a)

您可能想要創建另一個用於返回整數的方法。 只是為了保持代碼干凈,

def cod(n):
    if n == "":
        return "" 
    else:
        a = str(ord(n[0])) + cod(n[1:])
        return a

def codI(n):
    return int(cod(n))


print type(codI("hello")) 
print type(cod("hello"))

暫無
暫無

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

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