第二天

39 阅读2分钟

在继续深入学习Python的过程中,我重点关注了Python的数据类型和变量。

Python提供了丰富的数据类型,包括数字类型(整数、浮点数)、字符串类型、列表类型、元组类型、字典类型和集合类型等。每种数据类型都有其独特的特点和用途,如字符串用于表示文本数据,列表和元组用于存储有序的数据集合,字典用于存储键值对,集合则用于表示无重复元素的数据集合。

在Python中,变量是用于存储数据的容器。与许多其他编程语言不同,Python中的变量不需要事先声明类型,而是根据赋值的数据类型自动确定。这种动态类型特性使得Python代码更加简洁和灵活。

我通过编写一些简单的代码来加深了对数据类型和变量的理解。例如,我创建了一个包含多个字符串的列表,并使用循环结构遍历列表中的每个元素;我还创建了一个字典,并尝试通过键来访问和修改字典中的值。

在学习过程中,我遇到了一些挑战,如理解不同类型数据之间的转换规则、掌握变量的作用域和生命周期等。但通过查阅官方文档和在线教程,我逐渐克服了这些困难。

通过今天的学习,我更加深入地理解了Python的数据类型和变量,为后续学习Python的高级特性打下了坚实的基础。

  1. 去除前导零:首先,你需要去除输入字符串中的前导零。可以使用 lstrip('0') 方法来实现。

  2. 分离整数和小数部分:将字符串分为整数部分和小数部分。可以使用 split('.') 方法来实现。

  3. 处理整数部分:对整数部分进行千分位逗号的插入。可以从后往前遍历整数部分,每三位插入一个逗号。

  4. 合并结果:将处理后的整数部分和小数部分重新合并成一个字符串。

以下是代码框架,其中关键步骤用注释标出:

def solution(s: str) -> str:
    # 去除前导零
    s = s.lstrip('0')
    
    # 分离整数和小数部分
    if '.' in s:
        integer_part, fractional_part = s.split('.')
    else:
        integer_part, fractional_part = s, ''
    
    # 处理整数部分,插入千分位逗号
    if integer_part:
        integer_part = integer_part[::-1]  # 反转字符串
        integer_part = ','.join([integer_part[i:i+3] for i in range(0, len(integer_part), 3)])
        integer_part = integer_part[::-1]  # 再次反转回来
    
    # 合并结果
    result = integer_part
    if fractional_part:
        result += '.' + fractional_part
    
    return result

if __name__ == '__main__':
    print(solution("1294512.12412") == '1,294,512.12412')
    print(solution("0000123456789.99") == '123,456,789.99')
    print(solution("987654321") == '987,654,321')