80日後に詰みそうなオッサン(6)Pythonスクリプト
80日後に詰みそうなオッサン6日目。
今日はPythonでランダムに選択肢を表示するスクリプトについて。
[前書きと環境構築]
以下に出てくる英数字は全て半角で日本語は''の中以外では使用することができません。
コードは以下。
内容を行ごとに分けて解説します。
環境構築については私が金欠でWindowsのPCを売ってしまったため、解説できません。
下記サイトを参照するか、検索エンジンでお調べください。
(Windows)
(Mac)
[コード解説]
# -*- coding:utf-8 -*-#
import random
result = ['1', '2', '3', '4', '5', '6']
print(random.choice(result))
(1行目)
文字コードの指定を行っています。
#はPythonでは行の#後の内容は全てコメントと見做され実行されません。
この文字指定が必要な理由はWindowsとそれ以外で使用する文字コードが異なるためです。
WindowsはShift-JIS、Mac(OS X以降)はUnicodeと違う文字コードを使用しています。
文字コードが違うと数字以外の表示が文字化けします。
プログラムは正常に実行されても文字コードが違うプログラムでは文字化けした訳のわからない結果が表示されます。
実行されずエラーになる可能性もあります。
そう言ったトラブルを防ぐためにプログラムの一番最初で文字コードを指定しています。
(2行目)
randomモジュールを読み込んでいます。
読み込まずに使用するとエラーになるため、事前に機械側に通知しておくイメージです。
(3行目)
配列に名前(変数名)をつけ、配列の中に要素を入れています。
機械は人間と違い突然指示されても実行できないため、事前に表示するものを全て伝えています。
(4行目)
printというのはコマンドプロンプトやターミナルに実行結果を表示する指示をするためのキーワードです。
Python3ではprintの後を()で囲むようになりました。
random.choice()は()の中のモノをランダムに表示するという意味です。
このままでは何も表示されないので5行目で準備した配列を指定します。
この指定で別のものを指定するとエラーとなります。
数字だけであれば以下のコードのように書くことが可能です。
# -*- coding:utf-8 -*-
import random
print(random.randint(1, 6))
[改造のアイディア]
以下のアイディアは全て「''」の中を書き換え、足りない場合は「, '追加分'」で選択肢を追加することができます。
・おみくじ
・勉強する科目
・好きな言葉
・料理の献立
変え方はあなたの好みでいいと思います。
変数名(result)を変えたい場合は5行目と7行目のresultを同じ変数名(半角英数字)にすれば大丈夫です。
最初は抵抗があるかもしれませんが、人生で起こることもかなりの割合で偶然が大きな要因を占めているので、重要でないことに悩んでいるのであれば乱数に任せてみるのもいいかもしれません。
私は天文学的な確率で病気になり(50億~1000億分の1)、少なくとも日本1位のヤブ医者(世界1位もありそう)をリハビリの過程で引いてしまったので重要性の低そうなことは乱数に任せるようになりました。
残り75日