Форум сайта python.su
добрый вечер,
прошу прощения, я новичок и сразу начинаю новую тему, но мне очень нужна помощь
нам задали 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)
Офлайн
Nataвместо if new_li%2==1: нужно писать if i%2==1: так как i в цикле является элементом а не индексом элемента
добрый вечер,
прошу прощения, я новичок и сразу начинаю новую тему, но мне очень нужна помощь
нам задали 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
Офлайн
1.
for i in range(len(mystring)-1):
if mystring[i]==mystring[i+1]: print mystring[i]+mystring[i+1]
for i in range(len(new_li)):
if i%2:
new_li.remove(i)
Офлайн
да, я сначала так и написала,
if i%2==1
for i in range(len(new_li)):
if i%2:
new_li.remove(i)
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)
Офлайн
NataНе удивительно, ибо я че-то не то написал :) Должно быть так:
та же ошибка.
for i in range(len(new_li)):
if i%2:
new_li.remove(new_li[i])
Офлайн
for i in range(len(new_li)):
if i%2:
new_li.remove(new_li[i])
Отредактировано (Окт. 3, 2010 03:24:41)
Офлайн
len(new_li)-1 Попробуйте
Офлайн
NataВыше ответ уже написали.
опять ошибка, но уже другая: IndexError: list index out of range
Офлайн
добрый день,
снова ошибка!
я перепробовала все варианты! что ему не нравится?
Отредактировано (Окт. 3, 2010 13:56:14)
Офлайн
Шо вы такое делаете? 0_о
Вам же выше уже все написали.
for i in range(len(new_li)-1):
if i%2:
new_li.remove(new_li[i])
Офлайн