Python(ダイス問題)

python

今回は受講生(H氏)の作成したお題を作成してリストやセットの理解を深めよう

問題

サイコロを3個振って出た目の合計を得点としてコンピューターと対戦するゲームを作成せよ。 ただし、サイコロの出目がすべて同じだった場合は得点を2倍にする

実行例

Enterで対決開始[Enter]
あなたの出目
[4,1,6]
コンピューターの出目
[2,6,6]
11対14であなたの負け
もう一度対決しますか?<y/n>>>y
あなたの出目
[2,2,2]
コンピューターの出目
[4,2,6]
12対12であいこ
もう一度対決しますか?<y/n>>>n
対決を終了します

Let’s challenge!

シンプル!ゾロ目かどうかの判定をどう行うかだね。ゾロ目=>1種類 …ということは…

解答例

import random
input('Enterで対決開始')
while True:
	print('あなたの出目')
	you=[random.randint(1,6) for i in range(3)]
	print(you)
	print('コンピュータの出目')
	pc=[random.randint(1,6) for i in range(3)]
	print(pc)
	you_sum=sum(you)
	if len(set(you)) == 1:
		you_sum*=2
	pc_sum=sum(pc)
	if len(set(pc))==1:
		pc_sum *=2
	result='あいこ' if you_sum == pc_sum else 'あなたの勝ち' if you_sum > pc_sum else 'あなたの負け'
	print(f'{you_sum}対{pc_sum}で{result}')
	select=input('もう一度対決しますか?<y/n>>>')
	if select != 'y':
		break
print('対決を終了します')
python
スポンサーリンク
シェアする
mjpurinをフォローする

コメント

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