Найти - Пользователи
Полная версия: Где ошибка?
Начало » Python для новичков » Где ошибка?
1 2
Duck233
программа должна добавить в список введенные числа кратные 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, чтобы выйти.")
    
        
Romiss
Первое что бросается в глаза, что вы хотите получить из:
if number == "0":
Возможно вы имели ввиду не равно 0?
Duck233
если пользователь вводит 0 то выполняется условие т.е если number == “0”
Romiss
может что-то в этом роде вам нужно
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, чтобы выйти.")
Romiss
Duck233
если пользователь вводит 0 то выполняется условие т.е если number == “0”
, а если пользователь введет не ноль, то ваш код выполняться не будет.
ilnur
не то?
# 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)
Duck233
Я написал, все работает, всем спасибо
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, чтобы выйти.")
    
ilnur
Я написал, все работает, но мне мой код не нравится
а в чем вопрос?
Duck233
ilnur
отредактировал там была проблема и я использовал set и list, сейчас их убрал все работает, видимо где то тогда ошибка была
Duck233
Вот вопрос еще
for snsn in spisok:
       del spisok[:]
       if int(snsn) % 6 == 0:
             x += int(snsn)
если так то программа работает правльно
а если убрать
del spisok[:]
то не правельно, почему?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB