トピック:
入力形式:
各テスト入力には 1 つのテスト ケースが含まれます。つまり、自然数 n の値が与えられます。ここで、n は 10100 未満であることが保証されます。
出力フォーマット:
n の桁の合計の各桁を 1 行に出力します。ピンイン番号の間には 1 つのスペースがありますが、行の最後のピンイン番号の後にはスペースはありません。
コード:
1. 入力操作
a = input()
2. 0-9をピンインに変換してリストに保存する
lists_n = ["ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"]
3. 入力した値を一つずつ計算できる値に分割し、リストを作成し、list_nで保存します
# 将字符串a用for去循环获取值,将获取的值存入列表。
list_n = []
for k in a:
list_n.append(k)
4. 別のループを使用してそれらの合計を計算します
sum = 0
# 用j去获取列表list_n的值,用来相加。
for j in list_n:
sum += int(j)
# 等价
# sum = sum + int(j)
5. それらの合計をリストに分割し、それをインデックスとして使用し、 lists_n の値を取得します。
# 将最后的值转换成字符串,用for循环将他们的和,拆分成一个列表。
for i in str(sum):
list.append(lists_n[int(i)])
6. 最後のステップは出力です。join ()メソッドを使用してリストを文字列出力に変換します。「 」の意味は、スペースで区切ることです。
print(" ".join(list))
完全なコード:
a = input()
lists_n = ["ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"]
list_n = []
# 将字符串a用for去循环获取值,将获取的值存入列表。
for k in a:
list_n.append(k)
# print(list_n)
sum = 0
# 用j去获取列表list_n的值,用来相加。
for j in list_n:
sum += int(j)
# 等价
# sum = sum + int(j)
# print(sum)
list = []
# 将最后的值转换成字符串,用for循环将他们的和,拆分成一个列表。
for i in str(sum):
list.append(lists_n[int(i)])
# print(list)
print(" ".join(list))