问题:编写一个程序,接受一行序列作为输入,并在将句子中的所有字符大写后打印行。输入Hello world Practice makes perfect

问题:编写一个程序,接受一行序列作为输入,并在将句子中的所有字符大写后打印行。
假设向程序提供以下输入:
Hello world
Practice makes perfect
则输出为:
HELLO WORLD
PRACTICE MAKES PERFECT
这也是在github上的练习题,其中有三个答案如下:
第一个

img


第二个

img


第三个

img


其中第二个与第三个是用迭代器写的,但是我第二个运行的时候的while循环在回车的时候无法解除循环如下:

img


能麻烦问一下错误在什么地方吗?
同时我发现第一个解法中while循环下的判断是if len(x)==0
而第三个解法的while循环下的判断则是if not s ,将第一个解法的条件改成if not s 的话也无法破除循环?
能问一下这是为什么吗

俺这里一切正常。