Pythonをやってみた。

こんにちは、なはたらけです。
最近学校の授業でPythonというプログラミング言語?を勉強しているので、家のパソコンで少し練習してみました。Pyhonは機械学習やWebアプリ開発など、様々なことに使用され、また初心者にもおすすめのプログラミング言語らしいです。将来的にプログラミング関連の職に就くなら、こういうのを少しずつ勉強するのも有かなと思いました。

GoogleColabというサイトでやってみた第一印象は、変数の型を書かない?ということが気になりました。UnityのC#ではintやstringなどを最初に書きますが、Pyhonではa = 0のように型を書かないようです。また、C#では関数の中身は{}で囲って分かりやすいですが、Pythonでは行の先頭の空白の数で区別するらしいです。コンパクトですが自分には少し分かりにくかったです。

実際に作ったコードをとりあえず貼ります。

import random
import time

hands = ["グー", "チョキ", "パー"]
winsCount = 0

def playJanken(boolAiko):
    global winsCount  # Declare winsCount as global
    player = input("あなたの出す手を入力: ")

    while player not in hands:
        print("正しく入力してください")
        player = input("あなたの出す手を入力: ")

    computer = random.choice(hands)

    if boolAiko == "":
        print("じゃんけん...\n")
    else:print("あいこで...\n")

    time.sleep(2)
    print("あなた     :" + player)
    print("コンピュータ:" + computer)

    time.sleep(1.5)
    if player == computer:
        print("あいこ")
        print("")
        playJanken("あいこ")
    elif ((player == "グー" and computer == "チョキ") or
          (player == "チョキ" and computer == "パー") or
          (player == "パー" and computer == "グー")):
        print("勝ち")
        winsCount +=1
    else:
        print("負け")

def firstQusetion():
    while True:
        allCount = input("何回勝負にしますか?")

        # 数字チェック
        if allCount.isdigit():
            allCount = int(allCount)
            time.sleep(1)
            print(str(allCount) + "回ですね。")
            time.sleep(1)
            return allCount
        else:
            print("数字を入力してください。")
            time.sleep(0.5)

# 実際の流れ
allCount = firstQusetion()
nowCount = 0
print("")

for i in range(allCount):
    nowCount += 1
    print("ゲーム" +
          str(nowCount) +
          "回目 : 残り" +
          str(allCount - nowCount + 1) +
          "回")
    playJanken("")
    print("")
    time.sleep(1)

print("全てのゲームが終了しました。" + str(winsCount) + "/" + str(allCount))

if winsCount == allCount:
    print("完全勝利です!")

GoogleColabに貼り付けたら実行できるので遊んでみてほしいです。今回はCPとじゃんけんができるゲームを作ってみました。何回か使う処理は関数としてまとめると使いやすかったです。具体的な解説は気が向いたらやりたいと思います。
それでは、また。


いいなと思ったら応援しよう!