ABC 162 A - Lucky 7 を Python で解いてみる

問題概要

atcoder.jp

3桁の数字が与えられたとき, 一度でも 7 があったら "Yes" を, そうでないなら "No" を出力せよ.

考えたこと

  • 100 の位の数字が 7 である
  • 10 の位の数字が 7 である
  • 1 の位の数字が 7 である

の3つの条件のいずれかが成り立てば"Yes"を出力すればよいことがわかります.
回答を行うには, 次の 2 つの手順が必要になります:

  • or 演算子を使って 3 つの条件をまとめる
  • if 文を使って条件が成り立つ場合とそうでない場合に分ける

また, 入力を 3 桁の数字としてではなく, 3文字の文字列として扱うことにしましょう.
こうすることで, 3 つの条件は,

  • 1文字目が '7' である
  • 2文字目が '7' である
  • 3文字目が '7' である

のようにそれぞれ書き表すことができます.

入力

入力を文字列として受け取りましょう.

N = input()

これで, 入力を変数  N に 3 文字の文字列として代入することができました.

出力

  • 3つの条件のどれかが成り立つならば, "Yes" を出力する
  • そうでないならば, "No" を出力する

により回答を行います.

if N[0] == '7' or N[1] == '7' or N[2] == '7':
  print("Yes")
else:
  print("No")

Submission #11861851 - AtCoder Beginner Contest 162