亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python(遞歸):遞歸中的“類型錯誤:字符串索引必須是整數”

Python(遞歸):遞歸中的“類型錯誤:字符串索引必須是整數”

一只斗牛犬 2021-06-30 17:43:31
我最近才開始自己學習DS&A,在本書的遞歸部分,它列出了下面的代碼作為用于將整數轉換為字符串的遞歸的基本示例:def to_str(n,base):convert_string = "0123456789ABCDEF"if n < base:    return convert_string[n]else:    return to_str(n/base,base) + convert_string[n%base]當我調用該函數并使用打印時print(to_str(1453,10)),,出現錯誤:TypeError: string indices must be integers.我究竟做錯了什么?
查看完整描述

2 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

您收到此錯誤是因為第二個 return 語句中 n/base 的值是一個浮點數。只需將其顯式轉換為整數即可。


def to_str(n, base):

    if n < base:

        return convert_string[n]

    else:

        return to_str(int(n/base), base) + convert_string[n%base]


查看完整回答
反對 回復 2021-07-06
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

在 Python 3 中,/運算符始終返回一個float對象,即使您要除的兩個數字都是整數。如果您想要整數除法,請改用//運算符:

return to_str(n // base, base) + convert_string[n % base]


查看完整回答
反對 回復 2021-07-06
  • 2 回答
  • 0 關注
  • 236 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號