Pythonミニアプリケーション(コード付き)5選
2022-01-27 03:09:07
I. じゃんけんぽん
目標:プレイヤーがジャンケン、はさみ、布のいずれかを選んでコンピュータをPKするコマンドラインゲームを作成する。プレイヤーが勝てば、ゲーム終了までスコアが加算され、最終スコアはプレイヤーに表示される。
ヒント:ゲーマーの選択肢を受信し、コンピュータの選択肢と比較する。コンピュータの選択肢は、選択肢のリストの中からランダムに選ばれる。ゲーマーの勝ちの場合、1点加算される。
import random
choices = ["Rock", "Paper", "Scissors"]
computer = random.choices(choices)
player = False
cpu_score = 0
player_score = 0
while True:
player = input("Rock, Paper or Scissors? ").capitalize()
# Determine the choice of player and computer
if player == computer:
print("Tie!")
elif player == "Rock":
if computer == "Paper":
print("You lose!", computer, "covers", player)
cpu_score+=1
else:
print("You win!", player, "smashes", computer)
player_score+=1
elif player == "Paper":
if computer == "Scissors":
print("You lose!", computer, "cut", player)
cpu_score+=1
else:
print("You win!", player, "covers", computer)
player_score+=1
elif player == "Scissors":
if computer == "Rock":
print("You lose... ", computer, "smashes", player)
cpu_score+=1
else:
print("You win!", player, "cut", computer)
player_score+=1
elif player=='E':
print("Final Scores:")
print(f"CPU:{cpu_score}")
print(f"Plaer:{player_score}")
break
else:
print("That's not a valid play. Check your spelling!")
computer = random.choice(choices)
II. ランダムパスワード生成ツール
目標:パスワードの長さを指定し、ランダムな文字列を生成できるプログラムを作成する。
プロンプトを表示します。数字+大文字+小文字+特殊文字の文字列を作成しなさい。設定されたパスワードの長さに基づいて、ランダムなパスワードの文字列を生成しなさい。
import random
passlen = int(input("enter the length of password" ))
s=" abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKL MNOPQRSTUVIXYZ!aN$x*6*( )? "
p = ".join(random.sample(s,passlen ))
print(p)
----------------------------
enter the length of password
6
Za1gB0
III. サイコロシミュレーター
目的:サイコロの出目をシミュレートするプログラムを作成する。
ヒント:randomモジュールを使って、ユーザーが質問したときに1から6の間の数字を生成するようにします。
import random;
while int(input('Press 1 to roll the dice or 0 to exit:\n')): print( random. randint(1,6))
--------------------------------------------------------------------
Press 1 to roll the dice or 0 to exit
1
4
IV. メールの自動送信
目的:メール送信に使用できるPythonスクリプトを作成する。
ヒント: email ライブラリを使用することで、メールを送信することができます。
import smtplib
from email.message import EmailMessage
email = EmailMessage() ## Creating a object for EmailMessage
email['from'] = 'xyz name' ## Person who is sending
email['to'] = 'xyz id' ## Whom we are sending
email['subject'] = 'xyz subject' ## Subject of email
email.set_content("Xyz content of email") ## content of email
with smtlib.SMTP(host='smtp.gmail.com',port=587) as smtp:
## sending request to server
smtp.ehlo() ## server object
smtp.starttls() ## used to send data between server and client
smtp.login("email_id","Password") ## login id and password of gmail
smtp.send_message(email) ## Sending email
print("email send") ## Printing success message
V. 目覚まし時計
目的:目覚まし時計を作成するPythonスクリプトを作成する。
ヒント:date-timeモジュールを使って目覚まし時計を作成し、playsoundライブラリを使って音を再生することができます。
from datetime import datetime
from playsound import playsound
alarm_time = input("Enter the time of alarm to be set:HH:MM:SS\n")
alarm_hour=alarm_time[0:2]
alarm_minute=alarm_time[3:5]
alarm_seconds=alarm_time[6:8]
alarm_period = alarm_time[9:11].upper()
print("Setting up alarm. ")
while True:
now = datetime.now()
current_hour = now.strftime("%I")
current_minute = now.strftime("%M")
current_seconds = now.strftime("%S")
current_period = now.strftime("%p")
if(alarm_period==current_period):
if(alarm_hour==current_hour):
if(alarm_minute==current_minute):
if(alarm_seconds==current_seconds):
print("Wake Up! ")
playsound('audio.mp3') ## download the alarm sound from link
break
テクニカルコミュニケーション
再掲載、ブックマーク、応援などお気軽にどうぞ
Pythonのミニゲームを5つ、コード付きで紹介するこの記事は以上です。他のPythonゲームについては、Script Houseの過去の記事を検索するか、以下の関連記事を引き続き参照してください。
関連
-
Python スクリプトフレームワーク webpy テンプレート割り当て実装
-
[解決済み] PythonでXMLをきれいに印刷する
-
[解決済み] ヤフーファイナンス・イチャートサービス利用状況
-
[解決済み] NetworkXグラフに属性付きノードを追加する
-
[解決済み] Pythonで複数行のdictをフォーマットする適切な方法は何ですか?
-
[解決済み] Django - そのようなテーブルがない例外
-
[解決済み] Client failed to connect to D-BUS daemon "とはどういう意味ですか?
-
EOFError: pickle.load時に入力が尽きました。
-
TypeError: 'numpy.float64' オブジェクトは iterablex ではありません。
-
ValueError: 解凍する値が多すぎる (期待値 2)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】super()がエラーで失敗する。親がオブジェクトを継承していない場合、TypeError "argument 1 must be type, not classobj" が発生する。
-
[解決済み】 list["a", "b", "c"] を反復処理する際に "'type' object has no attribute '__getitem__'" というエラーが発生した。]
-
[解決済み] numpy の行列の二乗和
-
[解決済み] デーモン作成時にダブルフォークを行う理由は何ですか?
-
[解決済み] Pythonで予期しないトークン`;'付近で構文エラーが発生する
-
[解決済み] Youtubedl CERTIFICATE_VERIFY_FAILED [重複]する。
-
[解決済み] Python は文字列からすべてのアポストロフィを削除します。
-
[解決済み] Pythonのサブプロセスpopenの使い方 [重複]。
-
pipのpythonバージョン10.1では、Could not install packages due to anEnvironmentErrorというエラーが発生します。[WinError 5] アクセスが拒否されました。
-
Pythonでansible 2.8を呼び出す