编写程序,提示用户输入两个字符串,显示两个字符串最长的共同前缀
时间: 2024-04-12 18:31:59 浏览: 158
好的,下面是一个示例的Python程序,可以实现你的需求:
```python
def longest_common_prefix(str1, str2):
# 找到两个字符串中较短的那个字符串的长度
length = min(len(str1), len(str2))
# 遍历每个字符,判断是否相等
for i in range(length):
if str1[i] != str2[i]:
# 遇到不相等的字符时,返回前面的部分作为最长共同前缀
return str1[:i]
# 如果所有字符都相等,或者有一个字符串是另一个字符串的前缀,则返回较短的字符串作为最长共同前缀
return str1 if len(str1) < len(str2) else str2
# 提示用户输入两个字符串
str1 = input("请输入第一个字符串: ")
str2 = input("请输入第二个字符串: ")
# 调用函数并显示结果
result = longest_common_prefix(str1, str2)
print("最长共同前缀为:", result)
```
你可以运行这个程序,输入两个字符串,它会返回这两个字符串的最长共同前缀。希望这能帮到你!如果你还有其他问题,请随时提问。
相关问题
编写java程序,提示用户输入两个字符串,显示两个字符串最长的共同前缀。
可以使用以下Java代码来实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = scanner.nextLine();
System.out.print("请输入第二个字符串:");
String str2 = scanner.nextLine();
String commonPrefix = findCommonPrefix(str1, str2);
System.out.println("最长的共同前缀为:" + commonPrefix);
}
public static String findCommonPrefix(String str1, String str2) {
int minLength = Math.min(str1.length(), str2.length());
StringBuilder commonPrefix = new StringBuilder();
for (int i = 0; i < minLength; i++) {
if (str1.charAt(i) == str2.charAt(i)) {
commonPrefix.append(str1.charAt(i));
} else {
break;
}
}
return commonPrefix.toString();
}
}
```
这段代码首先提示用户输入两个字符串,然后调用`findCommonPrefix`方法来找到两个字符串的最长共同前缀。`findCommonPrefix`方法遍历两个字符串的每个字符,如果字符相同,则将其添加到`commonPrefix`中,如果不同,则跳出循环。最后,程序将最长共同前缀输出给用户。
用python编写一个返回两个字符串中最长公共前缀的方法。方法头为def prefix(s1,s2)如果两个字符串没有公共前缀则返回空字符串,编写一个main方法,提示用户输入两个字符串并显示他们的公共前缀
好的,下面是一个用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`函数。
阅读全文