使用字符数打印最长的一系列文本

时间:2017-05-04 08:51:37

标签: python python-3.x

我开始学习python并且到目前为止编写了一个程序来允许用户输入一系列文本然后输出最长行的字符数。你能否告诉我我需要添加什么来显示最长的文本本身的字符数? 谢谢。

{{1}}

3 个答案:

答案 0 :(得分:1)

您必须保存最大长度文本,如下所示:

print('Please enter lines of text.')
print('Finish with a blank line.')
maxi = 0
maxiText = ''
text = '.'
while len(text) > 0:
    text = input()
    if len(text) > maxi: 
        maxi = len(text)
        maxiText = text
if maxi == 0:
    print('No text entered.')
else:
    print('The longest line of text was ' + str(maxi) + ' characters long. The text is ' + maxiText)

答案 1 :(得分:1)

您可以通过引入另一个变量来存储找到的最长行的文本,或者将maxi变量中的长度替换为行的文本并使用len(maxi)来比较长度来实现。虽然这个选择在这个范围内可能看起来无关紧要,但是你可以在将来考虑到更大规模的问题,重新计算的函数比len()更复杂。

新变量:

通过将当前最长行的长度存储在单独的变量中,可以节省一些处理时间。但是,您必须手动使它们保持同步。

print('Please enter lines of text.')
print('Finish with a blank line.')
maxi = 0
text = '.'
maxline = ""
while len(text) > 0:
    text = input()
    if len(text) > maxi:
        maxi = len(text)
        maxline = text
if maxi == 0:
    print('No text entered.')
else:
    print('The longest line of text was ' + str(maxi) + ' characters long.')
    print(maxline)

仅存储最长行的文字:

这样你总是需要重新计算最长行的当前长度,但你一定要总是得到正确的长度。

print('Please enter lines of text.')
print('Finish with a blank line.')
maxi = ""
text = '.'
while len(text) > 0:
    text = input()
    if len(text) > len(maxi):
        maxi = text
if maxi == "":
    print('No text entered.')
else:
    print('The longest line of text was ' + str(len(maxi)) + ' characters long.')
    print(maxi)

答案 2 :(得分:0)

当他高于之前的maxText时,你必须保存测试。 最后你可以打印出来。