Python3三個簡單練手小遊戲

2021-09-12 13:19:57 字數 4319 閱讀 6135

學python之前我們先來幾個簡單的小遊戲練練手,這三個小遊戲乙個比乙個複雜,建議新手慢慢來:

1.猜拳:

import random  #匯入隨機模組

num = 1

yin_num = 0

shu_num = 0

while num <= 3:

if shu_num == 2 or yin_num == 2:

break

user = int(input('請出拳 0(石頭) 1(剪刀) 2(布)'))

if user > 2:

print('不能出大於2的值')

else:

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

com = random.randint(0, 2)

print("您出的是{},電腦出的是{}".format(data[user], data[com]))

if user == com:

print('平局')

continue

elif (user == 0 and com == 1) or (user == 1 and com == 2) or (user == 2 and com == 0):

print('你贏了')

yin_num += 1

else:

print('你輸了')

shu_num += 1

num += 1

2.數字炸彈:

import random

import time

bomb = random.randint(1, 99)

print(bomb)

start = 0

end = 99

while 1 == 1:

people = int(input('請輸入{}到{}之間的數:'.format(start, end)))

if people > bomb:

print('大了')

end = people

elif people < bomb:

print('小了')

start = people

else:

print('boom!!!')

break

print('等待電腦了輸入{}到{}之間的數:'.format(start, end))

time.sleep(1)

com = random.randint(start + 1, end - 1)

print('電腦輸入:{}'.format(com))

if com > bomb:

print('大了')

end = com

elif com < bomb:

print('小了')

start = com

else:

print('boom!!!')

break

3.賭大小:

import time

import random

# 讓使用者註冊

name = input('請填寫使用者名稱:')

age = input("{}您好,請輸入您的年齡 : ".format(name))

user_info = # 使用者資訊

user_properties = ['x 1-5'] # 用於存放使用者道具 預設道具

properties = ['x3 (250g)', 'x1-5 (300g)'] # 道具列表 顯示用

# 根據使用者年齡 給與不同的初始金幣

if 10 < user_info['age'] < 18:

glod = 1000

elif 18 <= user_info['age'] <= 30:

glod = 1500

else:

glod = 500

user_info['glod'] = glod

# 輸出相關提示資訊

print("\n")

time.sleep(1)

print('遊戲說明'.center(50, '*'))

print('*'.ljust(53), '*')

print('*', end='')

print("電腦每次投擲三枚骰子,總點數》=10為大,否則為小".center(32), end='')

print('*')

print('*'.ljust(53), '*')

print('*' * 54)

print("\n")

# 開始遊戲

result = input('是否開始遊戲 yes or no : ')

go = true

if (result.lower() == 'yes'):

while go:

dices =

# 開始投擲

for i in range(0, 3):

total = sum(dices) # 計算總和

user_input = input('請輸入big or small : ') # 等待使用者輸入

u_input = user_input.strip().lower()

time.sleep(1)

# 判斷使用者輸入

print('骰子點數為:{}'.format(dices), end=' ')

if (total >= 10 and u_input == 'big') or (total < 10 and u_input == 'small'):

print('您贏了!!!')

multi = 1 # 倍數

if len(user_properties) > 0: # 如果使用者有道具 選擇是否使用道具

use_pro = input('是否使用道具: ')

if use_pro.lower() == 'yes':

use_pro = int(input('請選擇使用第幾個道具{} :'.format(user_properties)))

use_pro -= 1

# 判斷道具型別

if user_properties[use_pro] == 'x 3':

multi = 3

print('獎金翻3倍')

elif user_properties[use_pro] == 'x 1-5':

multi = random.randint(1, 5)

print('獎金翻{}倍'.format(multi))

user_properties.remove(user_properties[use_pro]) # 刪除道具

user_info['glod'] += 100 * multi; # 金額增加

else:

print('您輸了!')

user_info['glod'] -= 100; # 錯誤 使用者金幣減 100

# 判斷使用者金幣 是否夠下次玩 不夠則退出程式

if (user_info['glod'] <= 0):

break

if user_info['glod'] % 1000 == 0: # 使用者金幣 是1000的倍數是 可購買道具

shop = input('您現在有金幣:{},是否購買道具 yes or no: '.format(user_info['glod']))

if shop.lower() == 'yes':

good_num = int(input('請選擇要購買第幾個道具 {}'.format(properties)))

if good_num == 1:

user_info['glod'] -= 250

print('購買成功!消耗金幣250')

elif good_num == 2:

user_info['glod'] -= 300 # 使用者金幣減 300

print('購買成功!消耗金幣300')

else:

print('沒有該道具,您失去了這次機會')

else:

# 一直提示 太煩

# conti = input('您現在有金幣:{},是否繼續遊玩,yes or no: '.format(user_info['glod']))

print('您現在有金幣:{} '.format(user_info['glod']))

else:

print('歡迎下次遊玩,再見!')

Python 3個小練習

這裡指定變數和相關要求,只需要根據所給表進行資料整理即可 set highjump set longjump set intersection set highjump.intersection set longjump set union set highjump.union set longju...

python3學習筆記三(個人回憶參考)

指向某一值的名詞。有一定的命名規範 字母 數字 下劃線任意組合,但不能以數字開頭。並且區分大小寫。變數名不能用系統關鍵字。命名時,變數名應有一定的含義。列表中的元素可以用索引來修改,元祖是不可變型別,所以不可修改。元組中某一元素為列表,如 1,2,3,4 可修改元組第三個元素中的值,理解為修改的是列...

如何將你的應用遷移到Python3的三個步驟

python 2.x 很快就要 失去官方支援 了,儘管如此,從 python 2 遷移到 python 3 卻並沒有想象中那麼難。我在上週用了乙個晚上的時間將乙個 3d 渲染器的前端 及其對應的 pyside 遷移到 python 3,回想起來,儘管在遷移過程中無可避免地會遇到一些牽一髮而動全身的修...