-7

我正在寻找一个“for循环”来查找每个项目的长度并选择最大的数字。

>>>T=[chicken, soda, candy]
>>>Highest = 0
>>>"for loop goes here"
>>>print (highest)
7
4

4 回答 4

3

T 不是一个元组,而是一个列表。你可以通过做找到print(type(T))。尝试阅读一般的列表和 Python 编程,有很多很好的资源可用。如果您希望 T 成为元组,只需将括号更改为像这样[]的常规括号,循环通过它的工作方式与下面提到的相同,因此无需更改任何内容。()T = ("chicken", "soda", "candy")

列表中的元素T需要是某种类型或变量。您正在寻找的可能是一个字符串。要将单词创建为 String 类型,请将其放在双引号中,如下所示"chicken"

以下是我怀疑您正在寻找的内容:

T = ["chicken", "soda" ,"candy"]
Highest = 0
for word in T:
    lengthOfWord = len(word)
    if lengthOfWord > Highest:
        Highest = lengthOfWord
print(Highest)

您还可以在此处查看实时版本。

于 2015-11-24T02:27:10.537 回答
3

您需要在字符串周围加上引号(例如"chicken"),并且变量的大小写很重要Highest并且highest不同。()还可以对元组使用圆括号,[]对列表使用方括号。

在 Python 中执行此操作的一个简单方法是使用创建生成器表达式的关键字max()来查找最长的字符串并len()查找长度:for

T=("chicken", "soda", "candy")
Highest = max(len(x) for x in T)
print(Highest)

稍旧的 Python 版本会使用列表推导:

Highest = max([len(x) for x in T])

erip 的回答显示了如何改用 for 循环。

于 2015-11-24T02:18:53.433 回答
1

您可以使用以下内容创建长度列表:

[len(i) for i in T]

然后您可以调用max一个可迭代的,它将返回最大元素。

把它放在一起你有:

print(max([len(i) for i in T]))

如果你想要一个for-loop明确的,你可以使用这个:

max_length = 0

for i in T:
  max_length = max(len(i), max_length))

print(max_length)

请注意,这些都适用于lists 和tuples。

于 2015-11-24T02:17:56.593 回答
-2

问题不清楚。但我希望这会对你有所帮助。

T = ('chicken', 'soda', 'candy')

Highest = 0

for i in range(0, len(T)):
    if len(T[i]) > int(Highest):
        Highest = len(T[i])

print ("Highest is %d" % Highest)
于 2015-11-24T02:25:24.433 回答