Python简介-列出问题
我们已经开始在课堂上做列表了,我有点困惑,因为以前的问题/答案曾经帮助过我 第一个问题是把列表中所有的负数加起来,我想我是对的,但我想再检查一下Python简介-列出问题,python,Python,我们已经开始在课堂上做列表了,我有点困惑,因为以前的问题/答案曾经帮助过我 第一个问题是把列表中所有的负数加起来,我想我是对的,但我想再检查一下 import random def sumNegative(lst): sum = 0 for e in lst: if e < 0: sum = sum + e return sum lst = [] for i in range(100): lst.append(ra
import random
def sumNegative(lst):
sum = 0
for e in lst:
if e < 0:
sum = sum + e
return sum
lst = []
for i in range(100):
lst.append(random.randrange(-1000, 1000))
print(sumNegative(lst))
我将如何更改此项以符合第二个问题的标准?我只是对那部分感到困惑。谢谢 求和-ve个数的代码看起来不错!我可能建议您在可以手动检查的列表上进行测试,例如:
print(sumNegative([1, -1, -2]))
同样的逻辑也适用于随机列表
关于countOdd
函数的说明,您似乎缺少一个=
(=
检查是否相等,=
用于赋值),并且代码似乎是计算偶数,而不是奇数。代码应为:
def countOdd(lst):
odd = 0
for e in lst:
if e%2 == 1: # Odd%2 == 1
odd = odd + 1
return odd
至于你的第二个问题,你可以使用一个非常类似的函数:
def countWordsBeforeSap(inputList):
numWords = 0
for word in inputList:
if word.lower() != "sap":
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList))
要解释上述内容,请使用countWordsBeforeSap
函数:
def countWordsBeforeSap(inputList):
numWords = 0
for word in inputList:
if word.lower() != "sap":
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList))
- 开始迭代单词
- 如果单词不是
,它将递增计数器并继续“sap”
- 如果单词是
,则它会从函数中提前返回“sap”
def countWordsBefore(inputList, wordToCheckFor):
numWords = 0
for word in inputList:
if word.lower() != wordToCheckFor:
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList, "sap"))
如果要检查的单词来自单个字符串,则首先需要将该字符串拆分为单个单词,如下所示:
inputString = "Trees produce sap"
inputList = inputString.split(" ")
它将初始字符串拆分为由空格分隔的单词
希望这有帮助!
汤姆对ve个数字求和的代码看起来不错!我可能建议您在可以手动检查的列表上进行测试,例如:
print(sumNegative([1, -1, -2]))
同样的逻辑也适用于随机列表
关于countOdd
函数的说明,您似乎缺少一个=
(=
检查是否相等,=
用于赋值),并且代码似乎是计算偶数,而不是奇数。代码应为:
def countOdd(lst):
odd = 0
for e in lst:
if e%2 == 1: # Odd%2 == 1
odd = odd + 1
return odd
至于你的第二个问题,你可以使用一个非常类似的函数:
def countWordsBeforeSap(inputList):
numWords = 0
for word in inputList:
if word.lower() != "sap":
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList))
要解释上述内容,请使用countWordsBeforeSap
函数:
def countWordsBeforeSap(inputList):
numWords = 0
for word in inputList:
if word.lower() != "sap":
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList))
- 开始迭代单词
- 如果单词不是
“sap”
,它将递增计数器并继续
- 如果单词是
“sap”
,则它会从函数中提前返回
通过传入要检查的单词,函数可以更一般:
def countWordsBefore(inputList, wordToCheckFor):
numWords = 0
for word in inputList:
if word.lower() != wordToCheckFor:
numWords = numWords + 1
else:
return numWords
inputList = ["trees", "produce", "sap"]
print(countWordsBeforeSap(inputList, "sap"))
如果要检查的单词来自单个字符串,则首先需要将该字符串拆分为单个单词,如下所示:
inputString = "Trees produce sap"
inputList = inputString.split(" ")
它将初始字符串拆分为由空格分隔的单词
希望这有帮助!
汤姆
希望这能帮助你更好地理解列表
希望这能帮助你更好地理解列表 您可以有效地使用列表/生成器理解。下面是快速和内存效率
1.负片总数:
print(sum( i<0 for i in lst))
如果是随机列表。过滤字符串。查找sap的索引
l = ['a','b',1,2,'sap',3,'d']
l = filter(lambda x: type(x)==str, l)
print(l.index('sap'))
3.奇数计数:
print(sum(i%2 != 0 for i in lst))
您可以有效地使用列表/生成器理解。下面是快速和内存效率
1.负片总数:
print(sum( i<0 for i in lst))
如果是随机列表。过滤字符串。查找sap的索引
l = ['a','b',1,2,'sap',3,'d']
l = filter(lambda x: type(x)==str, l)
print(l.index('sap'))
3.奇数计数:
print(sum(i%2 != 0 for i in lst))