Printing On a Single Line with A While Loop?
本问题已经有最佳答案,请猛点这里访问。
有一段时间我一直在努力克服一个问题。首先,我的代码是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | quote = input("Enter a Sentence:") a = len(quote) counter = 0 counter1 = 0 reverse = len(quote)-1 print("The Length of the sentence is",a,"characters long!") for x in range(0,a): if str.isspace(quote[x]) == True: counter = counter + 1 print("The Length of the sentence is",a - counter,"characters long (excluding space...)!") for x in range(0,a): if str.isupper(quote[x]) == True: counter1 = counter1 + 1 print("The number of Upper Case Characters in the sentence is",counter1,"characters!") print("The number of Lower Case Characters in the sentence is",a-counter1,"characters long!") print("The Upper Case Version:") print(str.upper(quote[0:a])) print("The Lower Case Version:") print(str.lower(quote[0:a])) print("In Reverse order:") while reverse >= 0: print(quote[reverse]) reverse = reverse - 1 |
这个程序的设计目的是找出一个特定句子的所有内容。但如果你看看底部的
这被称为扩展切片表示法。切片符号有三个部分,
1 2 3 4 5 6 | >>>"abcdefg"[0:2] 'ab' >>>"abcdefg"[2:3] 'c' >>>"abcdefg"[::2] 'aceg' |
记住索引出现在字母之前,所以:
1 2 | a b c d e f g 0 1 2 3 4 5 6 7 |
如果你切了
1 2 | |a b|c d e f g 0 1 2 3 4 5 6 |
如果你切了
1 2 | a b|c|d e f g 0 1 2 3 4 5 6 7 |
切片符号的最后一位是每个索引要执行多少步。在我的测试用例中,我使用了"2",这意味着它只每隔一个数字抛出一个索引:
1 2 | a b c d e f g 0 1 2 3 |
我用负片作为问题的答案,它是向后的,而不是向前的,从最后开始而不是从开始。您需要前两个冒号来显示python您的意思是一个切片(而不是从index-1开始,这将引发indexerror)。
1 2 | a b c d e f g 7 6 5 4 3 2 1 0 |
所以它像这样放置索引,并从零开始计数,直到索引结束(字符串的开始)。
明白了吗?
如果不希望
1 2 | print("A partial line", end='') print("... continued!") |
查看文档以了解更多信息
你可以使用
尝试这些更改:
1 2 3 4 5 6 7 8 | print("In Reverse order:") charSet ="" while reverse >= 0: charSet = charSet + quote[reverse] print(charSet) |