6

だから私はこのリストと変数を持っています:

nums = [14, 8, 9, 16, 3, 11, 5]

big = nums[0]

spot = 0

私は実際にそれを行う方法について混乱しています。この演習を使用して、スターターを提供したいと思います。Pythonでそれを行うにはどうすればよいですか?

4

11 に答える 11

15

通常、あなたはただ使うことができます

max(nums)

明示的にループを使用したい場合は、次を試してください。

max_value = None
for n in nums:
    if n > max_value: max_value = n
于 2013-01-21T22:58:02.490 に答える
9

どうぞ...

nums = [14, 8, 9, 16, 3, 11, 5]

big = max(nums)
spot = nums.index(big)

これは、これを達成するためのPythonの方法です。ループを使用する場合は、現在の最大値でループし、各要素が大きいかどうかを確認し、大きい場合は現在の最大値に割り当てます。

于 2013-01-21T22:56:54.763 に答える
9
nums = [14, 8, 9, 16, 3, 11, 5]

big = None

spot = None

for i, v in enumerate(nums):
    if big is None or v > big:
         big = v
         spot = i
于 2013-01-21T22:59:22.700 に答える
1

2 番目の質問に対処するには、forループを使用できます。

for i in range(len(list)):
    # do whatever

は、、およびのrange()3 つの引数を持つことができることに注意してください。Start は開始する番号です (指定されていない場合は 0 です)。start は包括的です。End はどこで終了するかです (これは指定する必要があります)。end は排他的です: を実行すると、0-99 が返されます。ステップもオプションで、使用する間隔を意味します。step が指定されていない場合は、1 になります。例:startendsteprange(100)

>>> x = range(10, 100, 5) # start at 10, end at 101, and use an interval of 5
>>> x
[10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95] # note that it does not hit 100

は排他的であるためend、100 を含めるには、次のようにします。

>>> x = range(10, 101, 5) # start at 10, end at 101, and use an interval of 5
>>> x
[10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100] # note that it does hit 100
于 2013-01-21T23:23:50.407 に答える
1

組み込みのmax()関数を単純に使用しない理由:

>>> m = max(nums)

ちなみに、同様の質問に対するいくつかの回答が役立つ場合があります。

于 2013-01-21T22:57:22.793 に答える