源码编辑器随机测试题
1.编写一个函数,将字符串中的所有单词首字母大写。
```python。
def capitalize_words(s):。
return ' '.join([word.capitalize() for word in s.split()])。
```。
2.编写一个函数,返回一个字符串中最长的回文子串。
```python。
def longest_palindrome(s):。
def expand(left, right):。
while left >= 0 and right < len(s) and s[left] == s[right]:。
left -= 1。
right += 1。
return s[left+1:right]。
。
result = ''。
for i in range(len(s)):。
palindrome = expand(i, i)。
if len(palindrome) > len(result):。
result = palindrome。
palindrome = expand(i, i+1)。
if len(palindrome) > len(result):。
result = palindrome。
return result。
```。
3.编写一个函数,判断一个字符串是否为有效的IPv4地址。
```python。
def is_valid_ipv4(s):。
parts = s.split('.')。
if len(parts) != 4: return False。
for part in parts:。
if not part.isdigit() or int(part) < 0 or int(part) > 255:。
return False。
return True。
```。
4.编写一个函数,将一个字符串中连续的数字转换为它们的数字值。
```python。
def convert_numbers(s):。
i, result = 0, ''。
while i < len(s):。
if s[i].isdigit():。
j=i。
while j < len(s) and s[j].isdigit():。
j+=1。
result += str(int(s[i:j]))。
i=j。
else:。
result += s[i]。
i+=1。
return result。
```。
5.编写一个函数,返回一个字符串中出现次数最多的字符及其出现次数。
```python。
freq = {}。
for ch in s:。
if ch in freq:。
freq[ch] += 1。
else:。
freq[ch] = 1。
max_char, max_count = None, 0。
for ch, count in freq.items():。
if count > max_count:。
max_char, max_count = ch, count。
return (max_char, max_count)。
```。
6.编写一个函数,将一个字符串中的所有空格替换为'%20'。
```python。
def replace_spaces(s):。
return ''.join([c if c!=' ' else '%20' for c in s])。
```。
7.编写一个函数,返回一个字符串中出现次数为奇数的字符。
```python。
def odd_char(s):。
freq = {}。
for ch in s:。
isalpha 函数if ch in freq:。
freq[ch] += 1。
else:。
freq[ch] = 1。
return ''.join([ch for ch, count in freq.items() if count%2==1])。
```。
8.编写一个函数,返回一个字符串中最长的不重复子串。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论