[英]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.