编写程序,提示用户输入两个字符串,显示两个字符串最长的共同前缀
时间: 2024-04-12 13:31:59 浏览: 147
好的,下面是一个示例的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`中,如果不同,则跳出循环。最后,程序将最长共同前缀输出给用户。
编写一个函数能够判断两个字符串的最长前缀码,比如:distance和distinct的最长前缀码为dist,如果输入的两个字符串没有相同的前缀码则返回None
好的,这是一个关于字符串的问题,我可以直接回答。请看下面的代码:
```python
def longest_prefix(str1, str2):
prefix = []
for i in range(min(len(str1), len(str2))):
if str1[i] == str2[i]:
prefix.append(str1[i])
else:
break
if prefix:
return ''.join(prefix)
else:
return None
```
你可以输入两个字符串来测试这个函数。
阅读全文