python基础题目练习19

说反话-加强版

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:

测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。

输出格式:

每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello

部分错误答案:

words = input().split()
N  = len(words)
for i in range(N,1,-1):
    print(f"{words[i-1]}",end = ' ')
print(f"{words[0]}",end = '')

测试结果如下:

python基础题目练习19_第1张图片

因为有输入只有空格的情况,我们需要修改代码加入一个判别。

参考答案:

words = input().split()
N  = len(words)
for i in range(N,1,-1):
    print(f"{words[i-1]}",end = ' ')
if N != 0:
    print(f"{words[0]}",end = '')

添加一个对words长度的判断即可,实际上只输入空格的words是一个空列表,即[]

你可能感兴趣的:(python,算法,数据结构)