不用python自带的查找函数,编写代码实现在某个字符串s中查找其字串x,如果字串存在则输出字串,否则输出不存在
时间: 2024-02-05 22:12:10 浏览: 63
可以使用暴力算法实现:
```python
def find_substring(s, x):
for i in range(len(s) - len(x) + 1):
if s[i:i+len(x)] == x:
return x
return "不存在"
s = "hello world"
x = "world"
print(find_substring(s, x)) # 输出: world
x = "python"
print(find_substring(s, x)) # 输出: 不存在
```
首先遍历字符串`s`的每一个可能的起始位置,然后检查从该位置开始长度为`len(x)`的子串是否等于目标字串`x`。如果找到了,则直接返回`x`;如果都没有找到,则返回"不存在"。
相关问题
不用python自带的查找函数,编写代码实现在某个字符串S中查找其字串x,如果字串存在则输出存在字串,否则输出不存在,用python怎么写
以下是使用 Python 编写的代码实现:
```python
s = input("请输入字符串S:")
x = input("请输入要查找的字串x:")
if x in s:
print("存在字串")
else:
print("不存在字串")
```
首先,通过 `input()` 函数获取用户输入的字符串 `S` 和要查找的字串 `x`。然后,使用 `in` 关键字判断 `x` 是否在 `s` 中,如果存在则输出存在字串,否则输出不存在。
给定一个字符串s,判断它是否由他的字串重复多次构成。如果由字串重复多次构成,输出字串,否则输出整个字符串 写一个python程序
可以使用 Python 的字符串操作来实现该功能,可以通过切片操作和字符串长度的判断来完成。
以下是一个示例代码:
```python
def find_substring(s):
n = len(s)
for i in range(1, n // 2 + 1):
if n % i == 0:
pattern = s[:i]
if pattern * (n // i) == s:
return pattern
return s
# 测试代码
s1 = "abcabcabc"
s2 = "ababab"
s3 = "abac"
print(find_substring(s1)) # 输出 "abc"
print(find_substring(s2)) # 输出 "ab"
print(find_substring(s3)) # 输出 "abac"
```
代码中,`find_substring` 函数接受一个字符串 `s`,首先获取字符串的长度 `n`,然后从 1 到 `n // 2` 枚举可能的重复字串长度 `i`,如果字符串的长度可以被 `i` 整除,则获取长度为 `i` 的字串 `pattern`,判断 `pattern` 重复多次是否可以构成整个字符串。如果能够构成,则返回 `pattern`;否则返回整个字符串。
在测试中,我们分别测试了字符串 `"abcabcabc"`、`"ababab"` 和 `"abac"`,得到了预期输出。
阅读全文