関数の定義と呼び出し
def print_hand():
print('グーを出しました')
print_hand()
仮引数
def print_hand(hand):
print(hand+'を出しました')
print_hand('グー')
print_hand('パー')
複数の引数
def print_hand(hand,name):
print(name+'は'+hand + 'を出しました')
print_hand('グー','にんじゃわんこ')
print_hand('パー','コンピューター')
引数の初期値
def print_hand(hand, name='ゲスト'):
print(name + 'は' + hand + 'を出しました')
print_hand('グー')
戻り値True
- 条件式でTrue == TrueまたはFalse == Trueを比較する場合は== Trueを省略することができる
- returnは戻り値を呼び出し元に返すだけでなく、関数内の処理を終了させる性質も持っておる
def validate(hand):
if hand<0 or hand>2:
return False
else:
return True
上記は、こうも書ける
def validate(hand):
if hand < 0 or hand > 2:
return False
return True
モジュール読み込みと使用
import utils
utils.print_hand(computer_hand, 'コンピュータ')
randomモジュール読み込みと使用
import random
computer_hand = random.randint(0,2)
総合演習
import utils
import random
print('じゃんけんをはじめます')
player_name = input('名前を入力してください:')
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
player_hand = int(input('数字で入力してください:'))
if utils.validate(player_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('正しい数値を入力してください')
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 '負け'