前提・実現したいこと
python言語で誕生日を入力すると、ソウルナンバーを出すものを作っています。
そのうちのソウルナンバーを計算する部分に苦戦しています。
ソウルナンバーは自分の生年月日を一桁になるまで、各桁を足していくというものです。
例えば、2022年11月22日生まれのとき。2+0+2+2+1+1+2+2と計算し、ソウルナンバーはとなります。
今の段階では、例の場合2022+11+22で2055と出るところまで出来ています。
質問内容はその後の動きとして考えています。
一桁になるまで各桁を合計していきたいのですが、以下のエラーメッセージが発生しました。
コードはネットのものを参考にしています。
解決策を教えていただけると幸いです。
発生している問題・エラーメッセージ
Traceback (most recent call last):
File "C:.py", line 11, in <module>.py", line 3, in digitSum
result = digitSum(s)
File "C:
if len(n) is 1:
TypeError: object of type 'int' has no len()
該当のソースコード
このコードの場合、2055を各桁で合計する
2+0+5+5=12
1+2=3
結果3と出せるようにしたい
python
1s1 = 2055 2def digitSum(s): 3 if len(n) is 1: 4 return n 5 array = list(map(int, list(s))) 6 return digitSum(str(sum(array))) 7 8if __name__ == "__main__": 9 n = s1 10 s = str(n) 11 result = digitSum(s) 12 13 print(int(result))
参考サイト
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/26 05:32