М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
maryana070803
maryana070803
30.11.2022 03:01 •  Информатика

Петя составляет 6-буквенные коды из букв п, е, т, я. каждую букву можно
использовать любое количество раз или совсем не использовать, при этом
нельзя ставить подряд две гласные или две согласные. сколько различных
кодов может составить петя?

👇
Открыть все ответы
Ответ:
aeraerororrrrea
aeraerororrrrea
30.11.2022

Через флаги:

violator_songs = [

['World in My Eyes', 4.86],

['Sweetest Perfection', 4.43],

['Personal Jesus', 4.56],

['Halo', 4.90],

['Waiting for the Night', 6.07],

['Enjoy the Silence', 4.20],

['Policy of Truth', 4.76],

['Blue Dress', 4.29],

['Clean', 5.83]

]

li = []

special_list = []

qty = int(input('Сколько песен выбрать? '))

print()

count = 1

ok = True

while ok:

   for _ in range(qty):

       if ok:

           song = input('Введите название ' + str(count) + ' песни: ')

           for elem in violator_songs:

               li.extend(elem)

               if song not in li:

                   print('Ошибка. Такой песни в плейлисте нет!')

                   ok = False

                   break

               else:

                   special_list.append(song)

                   count += 1

       summ = 0

       for i_time in violator_songs:

           if i_time[0] in special_list:

               summ += i_time[1]

   if ok:

       print('\nОбщее время звучания песен:', float(round(summ, 2)))

       break

4,4(59 оценок)
Ответ:
vika2320041
vika2320041
30.11.2022

Проблема в том, что дано четырехзначное число, а в итоговом выводе у вас сумма трех переменных.

Ваша программа проходит с число 2020, так число содержит два нуля.

Разберем вашу программу.

Возьмем число n = 1234:

Командой 1234 % 10 мы берем последнее число, то есть 4, и присваиваем это значение переменной a. a = 4

Далее целочисленным делением мы убираем последнюю цифру этого числа, то есть остается 123, и присваиваем это значение переменной b.

Следующая команда целочисленного деления уже отсекает последние 2 цифры, то есть остается 1, переменная с = 1.

Следующая команда дает остаток от деления b на 100, то есть 123 % 100 = 23. d = 23

Следующая команда печатает сумму полученных переменных, то есть

4 + 1 + 23 = 28, но начальное число = 1234, и сумма его цифр явно не равна 28(1 + 2 + 3 + 4 = 10)

Альтернативой может стать последовательное целочисленное деление числа n на 10, то есть:

Возьмем число n = 1234:

a = n % 10  #4

n //= 10    #123

b = n % 10  #3

n //= 10   # 12

c = n % 10   # 2

n //= 10   #1

print(a + b + c + n)   # 10

А вообще возможности языка позволяют оформить программу в 1 строку:

print(sum(map(int, input(

4,6(1 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ