0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python基本文法4(ライブラリ、モジュール 編)

Last updated at Posted at 2023-03-11

概要

MySQL勉強まとめ3の続きです。
個人的な勉強のまとめなので、もし修正があればご指摘いただけるとありがたいです。

目次

  • モジュールの設定
  • ライブラリの設定

モジュール

モジュールを使おう

モジュールとは、Pythonのコードが書かれたファイルのことです。
別ファイルをモジュールとして読み込むことでそこに書かれたコードを利用することができます。
今までコードを記述していたscript.pyもモジュールです。ここでは関数の定義部分をscript.pyからutils.pyに移します。
(progateの説明より)

import
importを使うことでモジュールを読み込むことができます。
モジュールを読み込んで使いたいファイルに、「import モジュール名」と書くことで読み込むことができます。
モジュール名はファイル名から拡張子(.py)を取り除いたものとなります。
(progateの説明より)

script.py
import utils

# utils.py をモジュールとして読み込んでください
print('じゃんけんをはじめます')
player_name = input('名前を入力してください:')
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
player_hand = int(input('数字で入力してください:'))

# utils モジュール内の関数 validate を呼び出してください
if utils.validate(player_hand):
    computer_hand = 1

    if player_name == '':
        # utils モジュール内の関数 print_hand を呼び出してください
        utils.print_hand(player_hand)
    else:
        # utils モジュール内の関数 print_hand を呼び出してください
        utils.print_hand(player_hand, player_name)

    # utils モジュール内の関数 print_hand を呼び出してください
    utils.print_hand(computer_hand, 'コンピュータ')
    
    # utils モジュール内の関数 judge を呼び出してください
    result = utils.judge(player_hand, computer_hand)
    print('結果は' + result + 'でした')
else:
    print('正しい数値を入力してください')
utils.py
# 3つの関数のコードを貼り付けてください
def validate(hand):
    if hand < 0 or hand > 2:
        return False
    return True

def print_hand(hand, name='ゲスト'):
    hands = ['グー', 'チョキ', 'パー']
    print(name + '' + hands[hand] + 'を出しました')

def judge(player, computer):
    if player == computer:
        return '引き分け'
    elif player == 0 and computer == 1:
        return '勝ち'
    elif player == 1 and computer == 2:
        return '勝ち'
    elif player == 2 and computer == 0:
        return '勝ち'
    else:
        return '負け'

このようにモジュールは別ファイルにコードを置いて、コードをシンプルにするための方法です。
呼び出す時はモジュール名.関数名
で記述する。

ライブラリ

先程は自分でモジュールを作りましたが、Pythonには便利なモジュールがいくつか用意されています。これらのあらかじめ用意されているモジュールは標準ライブラリと呼ばれ、importを用いて読み込むことで便利な関数を利用できるようになります。
(progateの説明より)

ライブラリについては上記の通りです。

script.py
import utils
import random
# random モジュールを読み込んでください

print('じゃんけんをはじめます')
player_name = input('名前を入力してください:')
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
player_hand = int(input('数字で入力してください:'))

if utils.validate(player_hand):
    # randint を用いて 0 から 2 までの数値を取得し、変数 computer_hand に代入してください
    computer_hand = random.randint(0,2)
    
    if player_name == '':
        utils.print_hand(player_hand)
    else:
        utils.print_hand(player_hand, player_name)

    utils.print_hand(computer_hand, 'コンピューター')
    
    result = utils.judge(player_hand, computer_hand)
    print('結果は' + result + 'でした')
else:
    print('正しい数値を入力してください')

random.randint(0,2)で0〜2の数値をランダムで取得する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?