#牛客网华为机试题后感 2-14
1.接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
def switch():
str = input()
print(str[::-1])
switch()
解题思路:
5种方法的比较:
- 简单的步长为-1, 即字符串的翻转[::-1];
2.使用list函数把字符串放到列表里:
a.交换前后字母的位置;
b.递归的方式, 每次输出一个字符;
d.使用for循环, 从左至右输出;
不足:
1.未做限制判断:
a.英文小写字符
b.1000字以内
2.
def resverse():
string = input()
list = string.split(’ ‘)
list.reverse()
print(’ '.join(list))
resverse()
解题思路:
1.
a.以split分割字符串转列表
str = “a b c”
num = str.split(" ")#split以空格区分字符串
b.以re.split分割字符串转字符
import re
str = “a b c”
num = str.split(r’\s+’, str)#re.split以空格区分字符串
c., ; " "同时出现
(\s可以匹配一个空格,, 和 ; 都是转义字符表示 , 和 ;)
num = str.split(r’[\s,;]+’, str)
2.列表转字符串
list = [‘abc’,‘efg’,‘hig’]
print(" ".join(list))#以空格分开字符串