見出し画像

pythonじゃんけん勇者の旅.Lv2-inputと変数-

じゃんけんプログラムを少しづつ改良してPythonのレベルアップを目指すnote.Lv2

前回のあらすじ

・初期設定
・「こんにちは」と出力

↓マガジンはこちら↓

今回の完成イメージ

「じゃんけんはじめる?」
「入力してね! はい:y,いいえ:n」
と出力させる

今回の学習内容

・inputを通して入力画面の理解
・変数の理解

input

1.下記のコードを「yuusya_lv2.py」として保存

print('じゃんけんはじめる?')
input(r'入力してね!{はい:y,いいえ:n}:')

2.pythonの実行
ターミナルから「yuusya_lv2.py」が保存されているディレクトリに移動し「yuusya_lv2.py」を実行。すると下記のように表示されます。

じゃんけんはじめる?
入力してね!{はい:y,いいえ:n}:

ターミナルに何を入力しても特に何も起こりません。では入力した値はどこに行ったのでしょうか?

変数

変数とは値を入れておく箱のようなものです。数学の問題でこのような文を見たことがありませんか?

xが10、yが5の時、x-yの値は?

この場合の答えは5です。変数xという箱に「10」を代入し、変数yという箱に「5」を代入しています。実際に変数に値を入れてみましょう。

1.コードを書き換える

print('じゃんけんはじめる?')
txt = input(r'入力してね!{はい:y,いいえ:n}:')
print(txt)


2.pythonの実行

ターミナルに「y」を入力すると、下記のように「y」が表示されます。

じゃんけんはじめる?
入力してね!{はい:y,いいえ:n}:
y

inputで入力した値は変数「txt」に格納されますprintで変数「txt」の値がターミナルに表示されたのです。せっかくターミナルでyと入力しても受け取って入れておく変数の箱がないと再びその値をprintで出力することができません。

今日の小ネタ

シングルコーテションの前に「r」をつける

前回

print('ここに出力したい文字を入力する')


と学びました
シングルコーテションまたはダブルコーテーションでくくった間の文字列が文字列として認識されます。
では文字列の中に、シングルコーテションまたはダブルコーテーションを文字で入れたい場合はどうしたらいいのでしょうか?
シングルコーテションの前に「r」をつけるとその間にシングルコーテションまたはダブルコーテーションが出ていてもくくりの途中とはみなされません。

実際にやってみる

print('シングルコーテション'または"ダブルコーテーション')

とすると、下記が表示されます

  File "yuusya_lv1.py", line 1
    print('シングルコーテション'または"ダブルコーテーション')
                      ^
SyntaxError: invalid syntax

シンタックスエラーが返ってきました。
これは「'シングルコーテション'」までは文字列と認識され「または」の部分は文字列と認識されずそのあとの「"ダブルコーテーション'」は文字列として認識されています。「または」はプログラムではないのでエラーになってしまいます。

次回予告

前回は初期設定と「print」について、今回は「input」と「変数」について学びました。
次回は、「if」について学びます。「じゃんけんをはじめますか?」の問いに対して答えたので答えの分岐に対して処理を変更させます。


この記事が気に入ったらサポートをしてみませんか?