打印具有字符数的文本序列的最长行

2024-04-24 15:50:21 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

Tags: oftext用户文本程序lenifline
3条回答

您必须这样保存最大长度的文本:

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)

您可以通过引入另一个变量来存储找到的最长行的文本,或者将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)

仅存储最长行的文本:

通过这种方法,您总是需要重新计算最长行的当前长度,但您一定会得到正确的长度。在

^{pr2}$

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

相关问题 更多 >