Форум сайта python.su
Вобщем прога должна вычислять за один проход по списку вычислять минимальное, максимальное, второе по величине и предпоследнее число из списка. Вот, что у меня получилось
# usr/bin/env python
# -*- coding: utf-8 -*-
# making list
print 'Please, enter n: '
n=int(raw_input())
n0=0
L=[]
import random
while n0!=n:
b=random.randint(-50, 50)
L.append(b)
n0=n0+1
# programm
k=0
max=L[0]
min=L[0]
max2=L[0]
min2=L[0]
while k!=n:
if L[k]<L[k+1]:
max2=max
max=L[k+1]
else:
exit=0
if L[k]>L[k+1]:
min2=min
min=L[k+1]
else:
exit=0
k=k+1
print 'MAX_1: %s' %str(max)
print 'MAX_2: %s' %str(max2)
print 'MIN_1: %s' %str(min)
print 'MIN_2: %s' %str(min2)
Офлайн
а не проще через sort() или это так надо побольше размером прогу написать?
Офлайн
d4181929
у тебя цикл до n, а сравниваешь ты с элементами n + 1:
if L[k]<L[k+1]:
Офлайн