PAT 1002 この数値を書き出し、正の整数 n を読み取り、その桁の合計を計算し、合計の各桁を中国語のピンインで書き込みます。

トピック:

入力形式:

各テスト入力には 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))

おすすめ

転載: blog.csdn.net/weixin_62854251/article/details/130201283