前提・実現したいこと
Python学習中の初心者です。
トランプゲームのハイ&ローのようなことができるプログラムを作りたいです。
- ランダムに1~13の数字が出力される
- highかlowを入力する
- 次の数字が出力される
- 結果が出力される
発生している問題・エラーメッセージ
def judge()を別のファイルに移し、importしようとするとエラーが出ます。
NameError: name 'player_choice' is not defined
該当のソースコード
python
1import random 2print('最初のカードをめくりました') 3card1=random.randint(1,13) 4print(card1) 5player_choice=input('high or low?') 6card2=random.randint(1,13) 7print(card2) 8 9def validate(): 10 if player_choice=='high' or player_choice=='low': 11 return True 12 else: 13 return False 14 15import utils 16 17if validate(): 18 result=utils.judge() 19 print('この勝負…'+result+'!') 20else: 21 print('無効な入力です')
python
1def judge(): 2 if player_choice=='high': 3 if card2>card1: 4 return'勝ち' 5 elif card2<card1: 6 return'負け' 7 else: 8 return'あいこ' 9 else: 10 if card2<card1: 11 return'勝ち' 12 elif card2>card1: 13 return'負け' 14 else: 15 return'あいこ'
試したこと
def judge()を別ファイルに移さず、同じファイル内に記述したまま実行すると正常に動きます。
モジュールを分けて動かすにはどうしたらいいでしょうか。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 08:07