1. ホーム
  2. スクリプト・コラム
  3. パイソン

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の過去の記事を検索するか、以下の関連記事を引き続き参照してください。