用python编写一个返回两个字符串中最长公共前缀的方法。方法头为def prefix(s1,s2)如果两个字符串没有公共前缀则返回空字符串,编写一个main方法,提示用户输入两个字符串并显示他们的公共前缀
时间: 2024-12-24 19:40:26 浏览: 1
好的,下面是一个用Python编写的返回两个字符串中最长公共前缀的方法。如果两个字符串没有公共前缀则返回空字符串。同时,还包含一个`main`方法,提示用户输入两个字符串并显示他们的公共前缀。
```python
def prefix(s1, s2):
# 找到两个字符串中较短的那个长度
min_length = min(len(s1), len(s2))
# 初始化公共前缀为空字符串
common_prefix = ""
# 遍历两个字符串的每一个字符,直到找到不同的字符或达到最短字符串的长度
for i in range(min_length):
if s1[i] == s2[i]:
common_prefix += s1[i]
else:
break
return common_prefix
def main():
# 提示用户输入第一个字符串
s1 = input("请输入第一个字符串:")
# 提示用户输入第二个字符串
s2 = input("请输入第二个字符串:")
# 调用prefix函数获取公共前缀
result = prefix(s1, s2)
# 输出结果
if result:
print(f"两个字符串的最长公共前缀是:{result}")
else:
print("两个字符串没有公共前缀")
# 调用main方法
if __name__ == "__main__":
main()
```
### 代码解释:
1. **`prefix`函数**:这个函数接受两个字符串作为参数,并返回它们的最长公共前缀。
- 首先,找到两个字符串中较短的那个长度。
- 然后,初始化一个空字符串`common_prefix`来存储公共前缀。
- 使用一个循环遍历两个字符串的每一个字符,直到找到不同的字符或达到最短字符串的长度。
- 如果字符相同,则将该字符添加到`common_prefix`中;否则,跳出循环。
- 最后,返回`common_prefix`。
2. **`main`函数**:这个函数用于与用户交互。
- 提示用户输入两个字符串。
- 调用`prefix`函数获取这两个字符串的公共前缀。
- 根据返回的结果,输出相应的信息。
3. **程序入口**:通过`if __name__ == "__main__":`语句确保只有在直接运行脚本时才执行`main`函数。
阅读全文