パンナの学生生活

地方大学の大学生/プログラミング言語【python】を中心に紹介しています。/日々の脳内をアウトプット/麻雀とワインと日本酒が好き/将来は幸せになりたい

【python】Atcoderの過去問でpythonの基本を学ぶ。if文 .join()

今日はpythonの基本構文について紹介します。また今回はAtCoderの過去問を用いてやっていきたいと思います。

 この記事で扱うAtCoderの過去問

自分の回答

if文のブール演算子とその併用

.join()について

この記事で扱うAtCoderの過去問

今回はAtCoderのB問題の過去問を使っていきたいと思います。

atcoder.jp

目次に書いた通りこの内容を理解していれば解くことができます。

ちなみにふつうはB問題でfor文を使うことが多いのですがこの問題は使わなくても解くことができます。

if文の書き方やprint()がわからない人はこちらを見てみてください

 

pannakotta.hatenablog.jp

自分の回答

S=list(input())
a=[S[0],S[1]]
b=[S[2],S[3]]
c=int("".join(a))
d=int("".join(b))
if 0<c<13 and 0<d<13:
  print("AMBIGUOUS")
if 0<c<13 and (d<1 or 12<d):
  print("MMYY")
if (c<1 or 12<c) and 0<d<13:
  print("YYMM")
if (c<1 or 12<c) and (d<1 or 12<d):
  print("NA")

 

 このような解答をしました。またこの他の解答方法もたくさんあります。このコードよりきれいなコードもたくさんあります。なので他の人の解答も見てみることをお勧めしています。

if文のブール演算子とその併用

論理演算子には論理和論理積とnotがあります。今日はその解説をします。論理和は条件式に、”または(or)”を論理積は条件式に”かつ(and)”そして否定のnotがあります。

if A and B: #AかつBどちらも真であるとき
   ["条件式がTrueの時の処理"]

if A or B: #AまたはBが真であるとき
     ["条件式がTrueの時の処理"]

if not A #A出ないとき
  ["条件式がTrueの時の処理"]
*併用の仕方は上記の解答を参考にしてみてください。

.join()について

この.join()は実はAtCoderに便利です。配列を””なしで表示するときなどよく使います。なのでこの使い方を覚えておくとAtCoderでも困らないと思います。

s=list(input())
#入力 shdshdjew

print(s)
#出力['s', 'h', 'd', 's', 'h', 'd', 'j', 'e', 'w']

print("".join(s))
#出力 shdshdjew

print("*".join(s))
#出力 s*h*d*s*h*d*j*e*w

print(",".join(s))
#出力 s,h,d,s,h,d,j,e,w

 

 こんな感じで様々な出力をすることができます。自分のPCで手を動かしてやってみてください!!

今日はここまでにしておきましょう。

なんか質問があったらツイッターのDMで質問を募集しています。なにか力になれたらうれしいです。

ツイッターID:`panNakott25