Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 20, 2008 19:24:18

d4181929
От:
Зарегистрирован: 2008-10-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите доделать прогу!

Вобщем прога должна вычислять за один проход по списку вычислять минимальное, максимальное, второе по величине и предпоследнее число из списка. Вот, что у меня получилось

# 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)
Но вот только не работает :( . Как же мне сравнивать элементы списка?



Офлайн

#2 Окт. 20, 2008 19:46:26

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите доделать прогу!

а не проще через sort() или это так надо побольше размером прогу написать?



Офлайн

#3 Окт. 21, 2008 00:15:37

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите доделать прогу!

d4181929
у тебя цикл до n, а сравниваешь ты с элементами n + 1:

if L[k]<L[k+1]:
сделай цикл до n - 1 и все буит ок.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version