1021 个位数统计 Python

if __name__ == '__main__':
    input_str = input()
    l = [int(x) for x in input_str]  # 将输入的字符串转换为整数列表
    if l:  # 确保列表不为空
        max_value = max(l)  # 找出列表中的最大值
        new_l = [0] * (max_value + 1)  # 根据最大值创建计数列表
        for i in l:
            new_l[i] += 1  # 增加在索引 'i' 处的计数
        for i in range(len(new_l)):
            if new_l[i] != 0:
                print(f"{i}:{new_l[i]}", end='\n' if i != len(new_l)-1 else '')
  1. 读取输入字符串

    • input_str = input():从用户那里获取一个字符串输入。
  2. 转换字符串为整数列表

    • l = [int(x) for x in input_str]:将输入字符串中的每个字符转换为整数,并存储在列表 l 中。
  3. 确保列表不为空

    • if l::检查列表 l 是否为空。如果列表为空,则不执行任何进一步的操作。
  4. 找出列表中的最大值

    • max_value = max(l):在列表 l 中找出最大的数字。
  5. 创建计数列表

    • new_l = [0] * (max_value + 1):创建一个新列表 new_l,长度为 max_value + 1。这是因为列表的索引从 0 开始,所以需要加 1 来确保有足够的空间来存储直到最大值的计数。每个元素的初始值都设为 0。
  6. 计算各数字出现的次数

    • for i in l: 循环遍历列表 l 中的每个数字。
    • new_l[i] += 1:对于列表 l 中的每个数字 i,在 new_l 的第 i 个位置增加计数。
  7. 打印结果

    • for i in range(len(new_l)): 循环遍历 new_l
    • if new_l[i] != 0::如果 new_l 在索引 i 处的值不为 0,则表示数字 i 在原始列表中至少出现一次。
    • print(f"{i}:{new_l[i]}", end='\n' if i != len(new_l)-1 else ''):打印数字及其出现次数。如果不是最后一个数字,则在每个输出后添加换行符。

你可能感兴趣的:(PTA乙级(Python),python)