整个问题:编写一个函数,该函数将字符串列表作为参数,并返回包含每个字符串长度的列表。也就是说,如果输入参数是[“apple pie”,“brownies”,“chocolate”,“dulce de leche”,“eclairs”],你的函数应该返回[9,8,9,14,7]。 / p>
我使用“累加器”接近这个程序,我会累积列表。
我的节目:
def accumulating():
List = []
Strings = input("Please enter a list of strings: ")
List = Strings.split(" ")
return List
def length(n):
r = []
for i in n:
r.append(len(n))
return r
def main():
y = accumulating()
x = length(y)
print(x)
main()
答案 0 :(得分:5)
def accumulating(strings):
return [len(i) for i in strings]
就是这样。
答案 1 :(得分:0)
TigerhawkT3有正确的答案,但如果您想更改代码,您可以这样做。在长度函数中,您不会返回字符串的长度,只需打印它们即可。将其更改为:
def length(n):
r = []
for i in n:
r.append(len(n))
return r
和
def accumulating():
list = []
strings = input("Please enter a list of strings(seperated by a white space): ")
list = strings.split(" ")
return list
请使用变量名中的cammelcase,以小写字母开头。这样可以避免混合变量和数据类型。 http://en.wikipedia.org/wiki/CamelCase
答案 2 :(得分:0)
这是基本逻辑:
x = ["apple pie", "brownies","chocolate","dulce de leche","eclairs"]
y = []
for i in x:
a = len(i)
y.append(a)
print y
这与用户输入的逻辑相同:
b = raw_input("Please enter a list of strings(seperated by a comma): ")
x = []
x.append(b)
x = b.split(",")
y = []
for i in x:
i = i.strip()
a = len(i)
y.append(a)
print y
我使用x = b.split(",")
因此用户输入可以用逗号分隔,然后i = i.strip()
将删除空格,以便a = len(i)
准确,空格不会是包含在len
中。