pythonで作ってみよう!!

pythonを楽しく学ぶために、おみくじ、占い、ジャンケンなど、実際に作りながら勉強してみます!

第1回-2 おみくじに、名前を入れてみよう →ユーザが入力した文字を表示しよう!

1. はじめに

先ほどは、決められた文字を表示しました。
次は、おみくじの参加者が、自分の名前を入力し、その名前を付加して「○○さん、おめでとうございます!大吉です」と出すプログラムです。

■要件

・「あなたのお名前は?」と聞いて、名前を入力してもらいます。
・その後、先ほどのおみくじを実行します。

ソースコード

print('あなたの今日の運勢は・・・')
for i in range(10):
    print('・')
print("おめでとうございます!大吉です")

※メモ 以下を見ると、もっときれいに記載ができそうだ。
https://kurokinomizuiwa.hatenablog.com/entry/2018/11/10/hatena-blog-source-code-paste

◼️実行結果

あなたの今日の運勢は・・・
・
・
・
・
・
・
・
・
・
・
おめでとうございます!大吉です

◼️解説

0.このプログラムを理解するのに必要な知識
  1. プログラムは上から1行ずつ実行される
  2. print(文字列)で文字が表示できる
  3. 固定の文字列は「"」または「'」で囲む
  4. for i in range(10): で10回繰り返す
1. プログラムの実行

プログラムは基本的に1行ずつ上から実行されます。
この例では1行目の

print('あなたの今日の運勢は・・・')

が最初に実行されることになります。
それが終わると(文字が表示されると)、次の

for i in range(10):
    print('・')

が実行されるわけですが、この説明は少し後でします。1行ずつと言ったばかりなのにいきなり2行取り上げた理由も後で説明します。
最後に、

print("おめでとうございます!大吉です")

が実行されてプログラムは終了します。

■コラム Pythonは簡単!!
今回、文字列を表示するプログラムを紹介しました。
Pythonだと、1行ですよね。
でも、C言語だと違うんです。以下みたいに、たくさん書かなければいけないんです。しかも、stdio.hとか、わけのわからない文字もあります。

#include<stdio.h> 
int main()
{ 
 printf("おめでとうございます!大吉です");
 returun 0;
}

Pythonは簡単でいいですね!!

2&3. 文字列の表示

print関数を利用します。

print(表示する文字列)

固定の文字列を表示するときには「"」(ダブルクォーテーション)または「'」(シングルクォーテーション)で囲みます。
javaでは、1文字は''、文字列は""と区別されていましたが、pythonでは区別されていません。

print("こんちくは") 
こんちくは
print('こんちくは') 
こんちくは
数字の場合は、そのままでも表示できます。 引用符で囲んでも表示できます。
print(3) 
実行結果
3
改行を含めて表示するにはダブルクォーテーション3つ「"""」で囲います。
print("""ab
cde
fg""")
ab
cde
fg
特殊な文字、たとえば、「'」を表記する場合には「¥」を付けます。英語のキーボードでは「\」(バックスラッシュ)と表現されることでしょう。これを付けないと、プログラム的な意味なのか、単なる文字列なのかが分からないからです。
print ('こん\'ちくは')
こん'ちくは

それ以外にも、いろいろと試してみるといいですよ。
参考までに、いくつか試した結果が以下です。
print("12") →12
print(12) →12
print(こんにちは) →エラー
print("こんにちは') →エラー

4. 繰り返し処理

もったいつけて説明を保留したfor i in range(10)ですが、ここでは次の処理を10回繰り返すもの、としてください。この構文をfor文と言います。
(2行まとめて取り上げたのは「次の処理」と対になっているからです。)
どこまでを繰り返しの1セットとするかはpythonではインデント(字下げ)によって表現します。for文の次にあるprint('・')の先頭についている半角スペース(ここでは4つ入れています)がインデントです。今回はインデントがついているのがこの1行だけなのでここだけが10回繰り返されて次の処理に進みます。
なので、この2行で「・」を10回表示する、という動作をすることになります。