7-39 jmu-python-逆序输出 (5 分)
输入一行字符串,然后对其进行如下处理。
输入格式:
字符串中的元素以空格或者多个空格分隔。
输出格式:
逆序输出字符串中的所有元素。
然后输出原列表。
然后逆序输出原列表每个元素,中间以1个空格分隔。注意:最后一个元素后面不能有空格。
输入样例:
a b c e f gh
结尾无空行
输出样例:
ghfecba
['a', 'b', 'c', 'e', 'f', 'gh']
gh f e c b a
结尾无空行
我的回答:
# 输入和处理空格
line = input().split(" ")
new_list = []
reversed_list = []
for item in line:
if item != "":
new_list.append(item)
reversed_list.append(item)
# 逆置列表
reversed_list.reverse()
# 生成字符串
new_str = ""
for item in reversed_list:
new_str += item
print(new_str)
print(new_list)
# 打印空格间隔序列
for i in range(len(reversed_list)):
if i != len(reversed_list)-1:
print(reversed_list[i], end=" ")
else:
print(reversed_list[i])
- 关于处理由多个空格隔开的元素的去空格问题:
- 完全可以直接先按只有一个空格间隔的情况,先用
split(" ")
来处理, 处理完后的列表会出现很多''
元素,只需要将这些元素摘除就行。
- 关于列表逆置函数
reverse()
- 使用这种方法会直接把逆置的列表覆盖在使用了逆置方法的列表上,所以如果需要保留原来的列表的话,就需要我们产生列表的时候要产生两份同样的列表,一份用于逆置,一份保存正序的列表。
- 区分
reverse()函数
和reversed()函数
:
区分