こんにちは, Shinoryoです.
今回はC++入門 AtCoder Programming Guide for beginners(APG4b)を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います.
C++入門 AtCoder Programming Guide for beginners (APG4b) - AtCoder
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
EX6 - 電卓をつくろう
if, elif, elseを用いて条件分岐を行います. 注意すべき点は,
のときの除算ではエラーを出力する- Python3.xでの除算は浮動小数点で出力されるので, それを整数に変換する
といったところでしょうか.
a, op, b = input().split() | |
a = int(a) | |
b = int(b) | |
if op == "+": | |
print(a+b) | |
elif op == "-": | |
print(a-b) | |
elif op == "*": | |
print(a*b) | |
elif op == "/": | |
if b == 0: | |
print("error") | |
else: | |
print(int(a/b)) | |
else: | |
print("error") |
EX7 - bool値パズル
お題となっているプログラムをPythonで書き直すと, 下のようになるでしょうか.
a = #True or False | |
b = #True or False | |
c = #True or False | |
if a: | |
print("At", end="") | |
else: | |
print("Yo", end="") | |
if not a and b: | |
print("Bo", end="") | |
elif not b or c: | |
print("Co", end="") | |
if a and b and c: | |
print("foo!", end="") | |
elif True and False: | |
print("yeah!", end="") | |
elif not a or c: | |
print("der", end="") |
- a:True
- b:False
- c:True
とすることで, 「AtCoder」と出力されます.
この問題だけ, 結果がWAになってしまいました. おそらくC++でないとダメなようになっているのだと思いますが, もし上記のプログラムが誤っていたらご連絡いただけますと幸いです.
EX8 - たこ焼きセット
お題となっているプログラムをPythonで書き直すと, 下のようになるでしょうか.
p = int(input()) | |
if p == 1: | |
price = int(input()) | |
elif p == 2: | |
text = input() | |
price = int(input()) | |
n = int(input()) | |
print('{0}!'.format(text)) | |
print(price*n) |
これでは
p = int(input()) | |
if p == 2: | |
text = input() | |
print('{0}!'.format(text)) | |
price = int(input()) | |
n = int(input()) | |
print(price*n) |
EX9 - 複合代入演算子を使おう
残念ながらPythonにはインクリメント(「i++」のようなもの)やデクリメント(「i--」のようなもの)はありませんので, おとなしく「i += 1」「i -= 1」のように累算代入で記述しましょう.
x, a, b = [int(x) for x in input().split()] | |
x += 1 | |
print(x) | |
x *= (a+b) | |
print(x) | |
x *= x | |
print(x) | |
x -= 1 | |
print(x) |
EX10 - 棒グラフの出力
例にならってwhile文を用いて記述します.
該当ページにもあるように, Bさんの棒グラフを出力した後にも改行が必要なことに注意してください. print()と記述することによって改行のみを出力しています.
a, b = [int(x) for x in input().split()] | |
print("A:", end="") | |
while a > 0: | |
print("]", end="") | |
a -= 1 | |
print() | |
print("B:", end="") | |
while b > 0: | |
print("]", end="") | |
b -= 1 | |
print() |
参考にしたサイト等
- nkmk様による「Pythonのコメント, コメントアウトの書き方」
Pythonのコメント, コメントアウトの書き方 | note.nkmk.me
Pythonで説明をコメントとして記述したり不要なコードをコメントアウトしたりする場合は#を使う. トリプルクォート(三重引用符)による文字列がコメントとして利用されている場合もあるが, 関数に説明を加える公式の仕組みであるdocstring以外であえてトリプルクォートを使う理由はない. ここでは以下の内容について説明す...
- nkmk様による「Pythonの論理演算子and, or, not(論理積, 論理和, 否定)」
Pythonの論理演算子and, or, not(論理積, 論理和, 否定) | note.nkmk.me
Pythonには, 論理演算(ブール演算)を行う論理演算子and, or, notが用意されている. if文で複数の条件の関係を記述する際などに使う. ここでは, 論理積(かつ): and 論理和(または): or 否定(でない): not および, 注意点として, bool型以外のオブジェクトに対する論理演算子 and, orの返り値はbool型とは限らない シ...
- nkmk様による「Pythonのprint関数で文字列, 数値および変数の値を出力」
Pythonのprint関数で文字列, 数値および変数の値を出力 | note.nkmk.me
Pythonで文字列や数値, 変数に格納された値などを標準出力(sys.stdout)に表示するprint()関数について説明する. 2. 組み込み関数 print() — Python 3.6.5 ドキュメント ここでは以下の内容について説明する. Python2とPython3のprintの違い 文字列や数値, リスト, 辞書などを出力整形(折り返し・省略など)して出力 整...
- 遠藤貴大様による「【Python入門】インクリメント演算子は使えない!?対処法まとめ」
【Python入門】インクリメント演算子は使えない!?対処法まとめ
みなさん, ご存知でしたでしょうか? pythonでは, インクリメント(デクリメント)演算子が無いという事実を…. 私は他の言語からプログラミングを学び始めていたのでf, あって当然と思っていた演算子が無い事に驚きました. 今回はこのインクリメント(デクリメント)演算子についてご紹介させていただきます. この記事では, インクリメント(デクリメント)演算子とは なぜ使えないのか 対応策 についてご理解いただけるかと思います. ぜひ, 最後までお付き合いください. インクリメント(デクリメント)演算子とは? インクリメント, デクリメント演算子とは, 文字通り値を1つずつ増やす(減らす)ためのもので, for文やwhile文で値を一つずつずらし処理をしていく際によく使われている演算子です. 他の言語では, 以下のように使われています. for(i=0; i
関連記事
AtCoder APG4bをPythonで解く(Ex1~5)
こんにちは, Shinoryoです. 今回は C++入門 AtCoder Programming Guide for beginners(APG4b) を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います. C++入門 AtCoder Program...
AtCoder APG4bをPythonで解く(Ex11~15)
こんにちは, Shinoryoです. 今回は C++入門 AtCoder Programming Guide for beginners(APG4b) を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います. C++入門 AtCoder Program...
AtCoder APG4bをPythonで解く(Ex16~18)
こんにちは, Shinoryoです. 今回は C++入門 AtCoder Programming Guide for beginners(APG4b) を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います. C++入門 AtCoder Program...
AtCoder APG4bをPythonで解く(Ex19~21)
こんにちは, Shinoryoです. 今回は C++入門 AtCoder Programming Guide for beginners(APG4b) を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います. C++入門 AtCoder Program...
AtCoder APG4bをPythonで解く(Ex22~24)
こんにちは, Shinoryoです. 今回は C++入門 AtCoder Programming Guide for beginners(APG4b) を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います. C++入門 AtCoder Program...
0 件のコメント:
コメントを投稿 (Please feel free to ask me about your questions! You can use Japanese or English in the comments.)