在我踏上Python编程之旅的初期,掌握基础语法是至关重要的第一步。Python,这门被誉为“最易上手”的编程语言,以其简洁明了的语法和强大的功能,吸引了我深入探索的兴趣。
1. 变量与数据类型
Python中的变量无需事先声明类型,赋值时即可自动确定。例如,a = 10定义了一个整型变量a;b = "Hello"则定义了一个字符串类型变量b。Python支持多种数据类型,包括整型(int)、浮点型(float)、字符串(str)、布尔型(bool)等,每种类型都有其特定的用途和操作方法。
2. 控制结构
Python的控制结构包括条件语句(if...elif...else)和循环语句(for、while)。条件语句用于根据条件执行不同的代码块,如if x > 0: print("x是正数")。循环语句则用于重复执行某段代码,直到满足特定条件为止。例如,for i in range(5): print(i)会打印0到4的数字。
3. 函数
函数是Python中组织代码的重要工具,通过定义函数,可以将重复使用的代码块封装起来,提高代码的可读性和复用性。定义函数使用def关键字,如def greet(name): print(f"Hello, {name}!")。调用函数时,只需输入函数名和必要的参数即可。
4. 模块与包
Python的模块是包含Python代码的文件,它们可以被其他Python代码导入并使用。这有助于代码的模块化和重用。例如,math模块提供了许多数学运算的函数,使用import math即可访问这些函数。包则是模块的集合,用于组织更大的代码库。
5. 输入输出
Python提供了简单的输入输出功能。input()函数用于从用户那里获取输入,而print()函数则用于在屏幕上显示输出。这两个函数是程序与用户交互的基本手段。
通过这一周的学习,我深刻体会到了Python基础语法的重要性,它们是构建更复杂程序的基础。接下来,我将继续深入学习Python的高级特性,如面向对象编程、异常处理等,期待在编程的世界里越走越远。
今天我学习了下面这个问题: 小U和小R有两个字符串,分别是𝑆S和𝑇T,现在小U需要通过对𝑆S进行若干次操作,使其变成𝑇T的一个前缀。操作可以修改𝑆S的某一个字符,或者删除𝑆S末尾的字符。现在你需要帮助小U计算出,最少需要多少次操作才能让𝑆S变成𝑇T的前缀。
问题理解
我们需要通过对字符串 S 进行若干次操作,使其变成字符串 T 的一个前缀。操作可以是修改 S 的某一个字符,或者删除 S 末尾的字符。目标是计算出最少需要多少次操作。
解题思路
- 比较字符串长度:首先,比较
S和T的长度。如果S的长度大于T的长度,那么S必须删除多余的尾部字符,直到长度与T相同。 - 逐字符比较:从字符串的开头逐字符比较
S和T,直到S的某个字符与T不匹配。 - 计算操作次数:
- 如果
S的某个字符与T不匹配,需要进行修改操作。 - 如果
S的长度大于T的长度,需要进行删除操作。
- 如果
代码提示
以下是一些代码提示,帮助你实现这个逻辑:
def solution(S: str, T: str) -> int:
# 初始化操作次数
operations = 0
# 获取两个字符串的最小长度
min_length = min(len(S), len(T))
# 逐字符比较
for i in range(min_length):
if S[i] != T[i]:
# 如果字符不匹配,增加操作次数
operations += 1
# 如果 S 的长度大于 T 的长度,需要删除多余的尾部字符
if len(S) > len(T):
operations += len(S) - len(T)
return operations
if __name__ == '__main__':
print(solution("aba", "abb") == 1)
print(solution("abcd", "efg") == 4)
print(solution("xyz", "xy") == 1)
print(solution("hello", "helloworld") == 0)
print(solution("same", "same") == 0)
关键步骤注释
- 初始化操作次数:
operations = 0 - 获取两个字符串的最小长度:
min_length = min(len(S), len(T)) - 逐字符比较:
for i in range(min_length): - 字符不匹配时增加操作次数:
if S[i] != T[i]: operations += 1 - 处理多余尾部字符:
if len(S) > len(T): operations += len(S) - len(T)
我学习到了求最少前缀的方法,首先需要对字符串进行若干次的修改,