Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 2, 2010 20:53:55

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

нужен совет

добрый вечер,
прошу прощения, я новичок и сразу начинаю новую тему, но мне очень нужна помощь
нам задали 5 задач, с 2мя у меня проблемы
два задания: 1.Read the string from the standart input. Print all groups of 2 characters which contain the same letter.
2. Using REMOVE delete all the odd numbers from the list.
задания простые, но есть условие:нельзя использовать import re для 1 и def для 2;
без regular expressions я даже список на группы разбить не смогу(полный noob), а 2 не работает.
не могли бы вы мне указать,в чем моя ошибка в задании 2 и что-нибудь посоветовать с 1
заране большое спасибо

print "Homework 2"
num_el=input("Enter the number of elements in the list: ")
new_li=[]

for x in range(num_el):
your_num=input("Add a number to the list: ")
new_li.append(your_num)
print "Your list includes: ", new_li
for i in new_li:
if new_li[i]%2==1:
new_li.remove(i)
print "Your new list is",new_li



Отредактировано (Окт. 2, 2010 21:41:46)

Офлайн

#2 Окт. 2, 2010 22:52:03

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

нужен совет

Nata
добрый вечер,
прошу прощения, я новичок и сразу начинаю новую тему, но мне очень нужна помощь
нам задали 5 задач, с 2мя у меня проблемы
два задания: 1.Read the string from the standart input. Print all groups of 2 characters which contain the same letter.
2. Using REMOVE delete all the odd numbers from the list.
задания простые, но есть условие:нельзя использовать import re для 1 и def для 2;
без regular expressions я даже список на группы разбить не смогу(полный noob), а 2 не работает.
не могли бы вы мне указать,в чем моя ошибка в задании 2 и что-нибудь посоветовать с 1
заране большое спасибо
print "Homework 2"
num_el=input("Enter the number of elements in the list: ")
new_li=[]

for x in range(num_el):
your_num=input("Add a number to the list: ")
new_li.append(your_num)
print "Your list includes: ", new_li
for i in new_li:
if new_li[i]%2==1:
new_li.remove(i)
print "Your new list is",new_li
вместо if new_li%2==1: нужно писать if i%2==1: так как i в цикле является элементом а не индексом элемента



Офлайн

#3 Окт. 2, 2010 23:46:16

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

нужен совет

1.

for i in range(len(mystring)-1):
if mystring[i]==mystring[i+1]: print mystring[i]+mystring[i+1]
2.
for i in range(len(new_li)):
if i%2:
new_li.remove(i)



Офлайн

#4 Окт. 3, 2010 02:27:55

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

нужен совет

да, я сначала так и написала,

if i%2==1
но программа выдает ошибку: ValueError: list.remove(x): x not in list

я пробовала:
for i in range(len(new_li)):
if i%2:
new_li.remove(i)
та же ошибка.
P.S. спасибо большое за 1, мой код был слишком мудреным и корявым(он внизу), а Ваш простой и понятный
splt=your_text.split()
new_str="".join(splt)
two_char = []
for i in range(0,len(new_str),2):
two_char.append(new_str[i:i+2])
two_char = [x for x in two_char if x[0]==x[1]]
print two_char



Отредактировано (Окт. 3, 2010 03:10:35)

Офлайн

#5 Окт. 3, 2010 02:45:01

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

нужен совет

Nata
та же ошибка.
Не удивительно, ибо я че-то не то написал :) Должно быть так:
for i in range(len(new_li)):
if i%2:
new_li.remove(new_li[i])



Офлайн

#6 Окт. 3, 2010 03:23:05

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

нужен совет

for i in range(len(new_li)):
if i%2:
new_li.remove(new_li[i])
опять ошибка, но уже другая: IndexError: list index out of range



Отредактировано (Окт. 3, 2010 03:24:41)

Офлайн

#7 Окт. 3, 2010 11:26:46

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

нужен совет

len(new_li)-1 Попробуйте



Офлайн

#8 Окт. 3, 2010 12:35:37

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

нужен совет

Nata
опять ошибка, но уже другая: IndexError: list index out of range
Выше ответ уже написали.

Да, пожалуй, не стоит в 3 часа ночи на такие вопросы отвечать…



Офлайн

#9 Окт. 3, 2010 13:34:56

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

нужен совет

добрый день,
снова ошибка!
я перепробовала все варианты! что ему не нравится?



Отредактировано (Окт. 3, 2010 13:56:14)

Офлайн

#10 Окт. 3, 2010 13:47:35

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

нужен совет

Шо вы такое делаете? 0_о
Вам же выше уже все написали.

for i in range(len(new_li)-1):
if i%2:
new_li.remove(new_li[i])



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version