Форум сайта python.su
0
программа должна добавить в список введенные числа кратные 6 и оканчивающиеся на 4
Помогите найти ошибку и объяснить ее
number = None while number != "стоп": number = input("Введите число: ") if number == "0": spiss = [] spiss.append(number) for xxx in spiss: spsp = [] if str(xxx[int(len(xxx)) - 1 ]) == "4": spsp.append(xxx) for nnn in spsp: znzn = [] if nnn % 6 == 0: znzn.append(nnn) print(znzn) input("Нажмите Enter, чтобы выйти.")
Отредактировано Duck233 (Март 13, 2013 23:03:35)
Офлайн
4
Первое что бросается в глаза, что вы хотите получить из:
if number == "0":
Отредактировано Romiss (Март 13, 2013 22:47:07)
Офлайн
0
если пользователь вводит 0 то выполняется условие т.е если number == “0”
Отредактировано Duck233 (Март 13, 2013 22:59:35)
Офлайн
4
может что-то в этом роде вам нужно
list = [] number = raw_input("Введите число: ") try: if int(number)%6 == 0 and (str(number))[-1] == '4': list.append(number) print list except ValueError: print 'Вы ввели не число' input("Нажмите Enter, чтобы выйти.")
Офлайн
4
Duck233, а если пользователь введет не ноль, то ваш код выполняться не будет.
если пользователь вводит 0 то выполняется условие т.е если number == “0”
Офлайн
22
не то?
# coding: cp1251 spisok = [] number = None while True: number = input(u'Введите число или стоп для завершения:\n') if number == u'стоп': break if int(number) % 6 == 0 or number[-1] == '4': spisok.append(number) for i in spisok: print (i)
Офлайн
0
Я написал, все работает, всем спасибо 
spisok = [] x = 0 number = None while True: number = input("Введите число или напишите 0 для завершения: ") if number == "0": print(x) break spisok.append(number) for xxx in spisok: if xxx[-1] == "4": del spisok[:] spisok.append(xxx) for snsn in spisok: del spisok[:] if int(snsn) % 6 == 0: x += int(snsn) input("Нажмите Enter, чтобы выйти.")
Отредактировано Duck233 (Март 14, 2013 12:49:11)
Офлайн
22
Я написал, все работает, но мне мой код не нравитсяа в чем вопрос?
Офлайн
0
ilnurотредактировал
там была проблема и я использовал set и list, сейчас их убрал все работает, видимо где то тогда ошибка была
Отредактировано Duck233 (Март 14, 2013 12:52:37)
Офлайн
0
Вот вопрос еще
for snsn in spisok: del spisok[:] if int(snsn) % 6 == 0: x += int(snsn)
del spisok[:]
Отредактировано Duck233 (Март 14, 2013 13:03:47)
Офлайн