Python實戰 出拳遊戲

2021-10-22 11:46:18 字數 1844 閱讀 6808

題目要求:

與電腦進行「石頭剪刀布」的遊戲,電腦能自動出拳,我們能自由選擇出什麼。

實現**:

import random

# 出拳

punches = ['石頭', '剪刀', '布']

computer_choice = random.choice(punches)

user_choice = ''

user_choice = input('請出拳:(石頭、剪刀、布)')

while user_choice not in punches:

print('輸入錯誤,請重新出拳')

user_choice = input()

# 亮拳

print('----戰鬥過程----')

print('電腦出了:%s' % computer_choice)

print('你出了:%s' % user_choice)

# 勝負

print('----結果----')

if user_choice == computer_choice:

print('平局')

elif (user_choice == '石頭' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布') or (user_choice == '布' and computer_choice == '石頭'):

print('你贏了')

else:

print('電腦贏了')

通過使用index()函式簡化elif語句

index()函式用於找出列表中某個元素第一次出現的索引位置。語法:list.index()

改進後的簡化**:

import random

# 出拳

punches = ['石頭', '剪刀', '布']

computer_choice = random.choice(punches)

user_choice = ''

user_choice = input('請出拳:(石頭、剪刀、布)')

while user_choice not in punches:

print('輸入錯誤,請重新出拳')

user_choice = input()

# 亮拳

print('----戰鬥過程----')

print('電腦出了:%s' % computer_choice)

print('你出了:%s' % user_choice)

# 勝負

print('----結果----')

if user_choice == computer_choice:

print('平局')

# 電腦的選擇有3種,索引位置分別為:0石頭, 1剪刀, 2布

# 假設在電腦索引位置上減1作為你的選擇,索引位置分別為:-1布,0石頭,1剪刀,此對應組合時你贏

elif user_choice == punches[punches.index(computer_choice)-1]:

print('你贏了!')

# elif (user_choice == '石頭' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布') or (user_choice == '布' and computer_choice == '石頭'):

# print('你贏了')

else:

print('電腦贏了')

python實戰遊戲開發 開始遊戲專案

1 建立pygame視窗以及響應使用者輸入 coding utf 8 import sys import pygame def run game 初始化遊戲並建立乙個螢幕物件 pygame.init screen pygame.display.set mode 1200,800 pygame.dis...

python 實戰之猜年紀遊戲 練習。

python 實戰之猜年紀遊戲。1.給定年齡,使用者可以猜三次年齡 2.年齡猜對,讓使用者選擇兩次獎勵 3.使用者選擇兩次獎勵後可以退出 age 20 count 0 prize dict while count 3 inp age input 請輸入你的年齡 if not inp age.isdi...

python基礎實戰之猜年齡遊戲

目錄age 18 inp age input 請輸入年齡 strip if inp age.isdigit inp age int inp age if age inp age print 猜小了 elif age inp age print 猜大了 else print 猜對了 else prin...