01.设计一个函数,可以传入一个或多个单词的字符串,并返回该字符串,但所有五个或更多字母的单词都前后颠倒
a = input("输入:")
print(a)
#将一句话以空格为分界拆分为单个单词
b = a.split(" ")
ls_1 = []
ls_2 = []
for i in range(len(b)):
#判断单个单词的长度是否大于五个字母
#如果小于五个字母将此单词添加到ls_2列表中
#否则将此单词前后颠倒加入到ls_2列表中
c = b[i]
if len(c) < 5 :
ls_2.append(c)
else:
d = c[::-1]
ls_2.append(d)
print(ls_2)
#将列表转换为字符串
str_num = ''.join(str(i)+' ' for i in ls_2)
print(str_num)
运行结果:
02.给定一个字符串,判断该字符串是否是回文。
#给定一个字符串,判断该字符串是否是回文。
#回文是指顺读或倒读都一样的字、诗句等如aabaa、abacaba 是回文,aaabaaaa则不是回文
def huiwen ():
a = input("请输入一段字符串:")
#将输入的字符串翻转
b = a[::-1]
#判断翻转后的字符串和翻转前的字符串是否相同,相同则是回文字符
if a == b :
print(f"{a}是回文字符")
print()
else :
print(f"{a}不是回文字符")
print()
while True :
huiwen()
运行结果:
03.存在一个列表,列表的元素都是从1~N的元素组成,现在有个元素成对出现了,找出这个成对出现的元素。
#存在一个列表,列表的元素都是从1~N的元素组成,现在有个元素成对出现了,找出这个成对出现的元素。
print("存在一个列表,列表的元素都是从1~N的元素组成,现在有个元素成对出现了,找出这个成对出现的元素")
def a ():
#将元素输入列表ls,和列表b,使b的长度比ls少1
ls = input("请输入一串数字(数字间用,分开):").split(",")
a = []
for k in range(len(ls)):
a.append(int(ls[k]))
b = []
for k in range(len(ls)):
b.append(int(ls[k]))
b.pop(0)
print(a)
for i in range(len(a)) and range(len(b)):
if a[i] == b[i]:
print(f"元素{a[i]}成对出现")
while True :
a()
运行结果:
04.存在一个列表,该列表中的元素都是成对出现,现在有 "一个" 不是成对出现,找出它。
#存在一个列表,该列表中的元素都是成对出现,现在有 "一个" 不是成对出现,找出它。
print("存在一个列表,该列表中的元素都是成对出现,现在有一个不是成对出现,找出它。")
def a ():
ls = input("请输入一串数字(数字间用逗号分开):").split(",")
a = []
b = []
c = []
for i in range(len(ls)):
a.append(int(ls[i])) #a = [1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6]
for i in range(len(ls)): #b = [0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6]
b.append(int(ls[i]))
b.insert(0,0)
for i in range(len(a)) and range(len(b)):
if i != 1 and i % 2 == 0 :
c.append(a[i-1])
c.append(b[i-1])
if c[0] == c[1]:
c.clear()
else:
print(f"元素{a[i-2]}不是成对出现")
break
while True :
a()