Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. n = set(input())
  2. print(n)
  3. If '4' in n or '7' in n:
  4. n.discard('4')
  5. n.discard('7')
  6. if not n:
  7. print('YES')
  8. else:
  9. print('NO')
  10.  
  11. Во-первых, нет смысла использовать цикл, так как множество (set) содержит только не повторяющиеся елементы. Один раз елемент удалился методом discard и этого елемента там больше нет.
  12. Во-вторых, функция input() возвращает строку, соответственно елементы в множестве тоже будут строчного типа. Если мы ввели в терминал число 47, то в n у нас будут {'4', '7'}, а не {4, 7}. Поэтому нужно проверять наличие елемента строчного типа в множестве n. С discard() таже история.
  13. В-третьих, n == set() так не нужно делать. Можно заменить if not n:
  14.  
  15. Ну и решение одной строкой:
  16. print('YES' if not [x for x in set(input()) if x not in ('4', '7')] else 'NO')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement