chacoderのブログ

競技プログラミングそのほか

Pythonはじめました

Pythonはじめました

これまでは、ほとんどC++以外の言語をさわってませんでしたが、少しづつ他の言語も勉強していきたいと思います。

緑になるまではと封印していましたが、ようやく手を出すことができます。

次の言語は何にしようか、いろいろ悩みましたが競プロではC++に次いでユーザーが多いと思われるPythonに手を出してみました。

出入力

まずは、出入力の基本を学びました。

文字列の入力

s=input()

整数の入力

n=int(input())

整数をスペース区切りで入力

a,b=map(int,input().split())

配列の入力

空白区切りのデータを配列に取り込みます。

A = list(map(int,input().split()))

配列の長さ len(A) 配列の合計 sum(A) などが使えます。


数字を整数型で出力

print(int(p))

文字列を出力

print(”Hello World!")

ABC128A

A - Apple Pie

a,p = map(int, input().split())
p+=a*3
p/=2
print(int(p))

IF 文

IF文はインデントを揃えないとCEになるというのが新鮮でした。
それ以外の書式は似ていて,また,論理演算や数値計算C++と変わらないようです。

ABC130A

A - Rounding

x,a = map(int, input().split())
if x<a:
  print(0) 
else:
  print(10)

文字列操作

文字列操作もC++と似てる感じです。

ABC131A

A - Security

s = input()
if s[0]==s[1] or s[1]==s[2] or s[2]==s[3]:
  print("Bad") 
else:
  print("Good")

配列の最大値

これは便利だなと思ったのが配列の最大値・最小値を出力するmin,maxの機能です。

p,q,r = map(int, input().split())
l=[p+q,q+r,p+r]
print(min(l))

今日のまとめ

ABCのA問題を題材に基本的なPythonの文法を学びました。

最初に呪文を唱えなくてよいところなど,C++より簡単に書けるメリットがあり,また全体にとっつきやすく面白い印象があります。

機械学習のライブラリが豊富といったメリットもあるようで、引き続き勉強していきたいと思います。