«амена чисел, заканчивающихс¤ на 3 и 7 в строке [закрыта]

Ќапишите программу, котора¤ генерирует и печатает список из n элементов (n, проинформированных пользователем), содержащих натуральные числа (начина¤ с 1) и замен¤¤ кратные 3 словом Ђpingї, кратные 7 словом Ђпонгї, и кратные 3 и 7 словом Ђпинг-понгї,

¬от код дл¤ этого

result = []
number = eval(input("Enter a whole number: "))
for index in range(number):
    if index % 7 == 0 and index % 3 == 0:
        result.append("ping-pong")
    elif index % 3 == 0:
        result.append("ping")
    elif index % 7 == 0:
        result.append("pong")
    else:
        result.append(index)
print(result) == 0

“еперь также замен¤ет числа, оканчивающиес¤ на 3 словом a И ~PING, и числа, оканчивающиес¤ на 7 словом a И ~PONGa И Щ, это ¤ не уверен, как это сделать.

python,

-5

Ответов: 1


2

я попыталс¤ сделать ваш код так, как вам хочетс¤, дела¤ как можно меньше изменений.

  •  ак Ќ≈ использовать eval.  огда-либо. ѕлохо, плохо, плохо eval. „тобы применить строку к int, используйте int().
  • ¬аш код начиналс¤ с 0, когда его спрашивали, что он началс¤ с 1, ¤ изменил диапазон.
  • „тобы узнать последнюю цифру, ¤ вычислил номер modulo 10, основанный на умном комментарии @Renuka Deshmukh. ƒругие менее умные решени¤ могли заключатьс¤ в том, чтобы проверить конец числа, занесенного в виде строки, с помощью str(index).endswith("7")или str(index)[-1] == "7", например.
  • „то вы print(result) == 0пытались сделать? я удалил ==0.

¬от результирующий код:

result = []
number = int(input("Enter a whole number: "))
for index in range(1,number+1):
    if index % 7 == 0 and index % 3 == 0:
        result.append("ping-pong")
    elif index % 3 == 0 or index % 10 == 3:
        result.append("ping")
    elif index % 7 == 0 or index % 10 == 7:
        result.append("pong")
    else:
        result.append(index)
print(result)
питон,
Похожие вопросы