Python(宝さがしゲーム)

python

今回は受講生(S氏)の作成したお題を作成してみよう。ひと目簡単そうなのですがどのようにアプローチしていくかで大変さが変わってきます。

問題

下記のような出力結果になるように作成してください。

選択済みの場所を選んだ場合も試行回数にカウントされます。
当たりの際の表の表記は大文字のO(オー)で表示しています。

実行例

****宝探し****
123
456
789
好きな場所の数字を選んで入力してください>>1
ハズレです。ここより大きな数字の場所にあります
X23
456
789
好きな場所の数字を選んで入力してください>>9
ハズレです。ここより小さな数字の場所にあります
X23
456
78X
好きな場所の数字を選んで入力してください>>1
選択済みの場所です
X23
456
78X
好きな場所の数字を選んで入力してください>>5
ハズレです。ここより大きな数字の場所にあります
X23
4X6
78X
好きな場所の数字を選んで入力してください>>7
お宝を見つけました!
X23
4X6
O8X
あなたはお宝を5回で発見しました!

Let’s challenge!

元のデータをどう作るかがポイントですね。まずは実現できることを目標に頑張ってください!

解答例

import random

data=[i for i in range(1,10)]
def showData():
	global data
	for i in range(len(data)):
		print(data[i],end='')
		if (i+1) %3 ==0:
			print()
ans=random.randint(1,9)
showData()
count=0
while True:
	count+=1
	index=int(input('好きな場所の数字を選んで入力してください>>'))-1
	if data[index]==ans:
		print('お宝を見つけました!')
		data[index]='O'
		showData()
		break
	elif data[index]=='X':
		print('選択済みの場所です')
	else:
		print('ハズレです。ここより{}数字の場所にあります'.format('大きな' if ans>data[index] else '小さな'))
		data[index]='X'
	showData()
print(f'あなたはお宝を{count}回で発見しました!')
python
スポンサーリンク
シェアする
mjpurinをフォローする
ジョイタスネット

コメント

タイトルとURLをコピーしました