Python 3.x 这个程序有什么问题?为什么数字和总长度为0?
为什么数字和总长度仍然是0?我做错了什么。由于for line in lines语句,它应该已更改Python 3.x 这个程序有什么问题?为什么数字和总长度为0?,python-3.x,Python 3.x,为什么数字和总长度仍然是0?我做错了什么。由于for line in lines语句,它应该已更改 def cleanedup(s): alphabet= 'abcdefghijklmnopqrstuvwxyz' cleantext = '' for character in s.lower(): if character in alphabet: cleantext += character else:
def cleanedup(s):
alphabet= 'abcdefghijklmnopqrstuvwxyz'
cleantext = ''
for character in s.lower():
if character in alphabet:
cleantext += character
else:
cleantext = ' '
return cleantext
import shelve
shelf = shelve.open('books')
lines = shelf['Pride and Prejudice']
shelf.close()
number = 0
totalLength = 0
for line in lines:
for word in cleanedup(line).split():
number += 1
totalLength += len(word)
print(totalLength, number)
这是脚本的主要问题:
for character in s.lower():
...
else:
cleantext = ' '
我不确定这是否是else
的正确位置,在您的情况下,您已将其放在for循环之后,因此每次运行此函数时,cleantext
都将重置,因为for循环中没有break
语句
尽管这可能不是您想要的(问题有点不清楚),但以下代码仍然有效:
def cleanedup(s):
alphabet= 'abcdefghijklmnopqrstuvwxyz'
cleantext = ''
for character in s.lower():
if character in alphabet:
cleantext += character
return cleantext
lines = ['lorem ipsum dolor sin amet', 'foo bar']
number = 0
totalLength = 0
for line in lines:
for word in cleanedup(line).split():
number += 1
totalLength += len(word)
print(totalLength, number)
输出:
>>> 28 2 # 28 = total number of characters, 2 = total number of lines
PS:下一次,请提供一个更简明的示例来演示问题,而不是使用外部文件。这是脚本的主要问题:
for character in s.lower():
...
else:
cleantext = ' '
我不确定这是否是else
的正确位置,在您的情况下,您已将其放在for循环之后,因此每次运行此函数时,cleantext
都将重置,因为for循环中没有break
语句
尽管这可能不是您想要的(问题有点不清楚),但以下代码仍然有效:
def cleanedup(s):
alphabet= 'abcdefghijklmnopqrstuvwxyz'
cleantext = ''
for character in s.lower():
if character in alphabet:
cleantext += character
return cleantext
lines = ['lorem ipsum dolor sin amet', 'foo bar']
number = 0
totalLength = 0
for line in lines:
for word in cleanedup(line).split():
number += 1
totalLength += len(word)
print(totalLength, number)
输出:
>>> 28 2 # 28 = total number of characters, 2 = total number of lines
PS:下一次,请提供一个更简洁的示例来说明问题,而不是使用外部文件。什么是
行
和cleanedup
?如果您没有向我们展示所有代码,我们怎么知道您的代码在做什么?什么是行
和清除操作
?请创建一个。我编辑了它…什么是行
和cleanedup
?如果您没有向我们展示所有代码,我们怎么知道您的代码在做什么?什么是行
和清除操作
?请创建一个。我编辑了它…..我认为它缺少某个导入urllib.request。我想看的是《傲慢与偏见》在网上的台词,从网上可以得到总长度和数字,这是一个完全不同的问题。如果您在urllib
方面有问题,那么您应该发布另一个问题,并且更加清楚。这里,计数函数有一些问题,但是如果这不是您的主要问题,那么创建另一个问题,更准确地说,添加一些解决您想要解决的问题的示例代码,并添加错误回溯。这样,你将有更多的机会得到你真正想要的解决方案。另一方面,如果你认为这个答案改善了你的计数功能,我很高兴你能接受:)如何接受你的答案?金星?@AllanChen我希望你能找到你实际问题的答案…如果你在这里发布新问题的链接,我可以看一看。好的,我做了,很好,找到了答案。我想在某处缺少import urllib.request。我想看的是《傲慢与偏见》在网上的台词,从网上可以得到总长度和数字,这是一个完全不同的问题。如果您在urllib
方面有问题,那么您应该发布另一个问题,并且更加清楚。这里,计数函数有一些问题,但是如果这不是您的主要问题,那么创建另一个问题,更准确地说,添加一些解决您想要解决的问题的示例代码,并添加错误回溯。这样,你将有更多的机会得到你真正想要的解决方案。另一方面,如果你认为这个答案改善了你的计数功能,我很高兴你能接受:)如何接受你的答案?金星?@AllanChen我希望你能找到你实际问题的答案…如果你在这里发布新问题的链接,我可以看看。好的,我做到了,很好,找到了答案。