在继续深入学习Python的过程中,我重点关注了Python的数据类型和变量。
Python提供了丰富的数据类型,包括数字类型(整数、浮点数)、字符串类型、列表类型、元组类型、字典类型和集合类型等。每种数据类型都有其独特的特点和用途,如字符串用于表示文本数据,列表和元组用于存储有序的数据集合,字典用于存储键值对,集合则用于表示无重复元素的数据集合。
在Python中,变量是用于存储数据的容器。与许多其他编程语言不同,Python中的变量不需要事先声明类型,而是根据赋值的数据类型自动确定。这种动态类型特性使得Python代码更加简洁和灵活。
我通过编写一些简单的代码来加深了对数据类型和变量的理解。例如,我创建了一个包含多个字符串的列表,并使用循环结构遍历列表中的每个元素;我还创建了一个字典,并尝试通过键来访问和修改字典中的值。
在学习过程中,我遇到了一些挑战,如理解不同类型数据之间的转换规则、掌握变量的作用域和生命周期等。但通过查阅官方文档和在线教程,我逐渐克服了这些困难。
通过今天的学习,我更加深入地理解了Python的数据类型和变量,为后续学习Python的高级特性打下了坚实的基础。
-
去除前导零:首先,你需要去除输入字符串中的前导零。可以使用
lstrip('0')方法来实现。 -
分离整数和小数部分:将字符串分为整数部分和小数部分。可以使用
split('.')方法来实现。 -
处理整数部分:对整数部分进行千分位逗号的插入。可以从后往前遍历整数部分,每三位插入一个逗号。
-
合并结果:将处理后的整数部分和小数部分重新合并成一个字符串。
以下是代码框架,其中关键步骤用注释标出:
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')