国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

用Python設計一個經典小游戲

2020-02-16 01:32:13
字體:
來源:轉載
供稿:網友

本文主要介紹如何用Python設計一個經典小游戲:猜大小。

在這個游戲中,將用到前面我介紹過的所有內容:變量的使用、參數傳遞、函數設計、條件控制和循環等,做個整體的總結和復習。

游戲規則:

初始本金是1000元,默認賠率是1倍,贏了,獲得一倍金額,輸了,扣除1倍金額。

    玩家選擇下注,押大或押??; 輸入下注金額; 搖3個骰子,11≤骰子總數≤18為大,3≤骰子總數≤10為??; 如果贏了,獲得1倍金額,輸了,扣除1倍金額,本金為0時,游戲結束。

程序運行結果是這樣的:

現在,我們來梳理下思路。

    我們先讓程序知道如何搖骰子; 讓程序知道什么是大,什么是?。? 用戶開始玩游戲,如果猜對,贏錢;猜錯,輸錢;輸完后,游戲結束。

梳理清楚思路后,接下來開始敲代碼。

搖骰子:

定義roll_dice函數,3個骰子,循環次數numbers為3,骰子點數points初始值為空,這里的參數傳遞用到的是之前講到的關鍵詞參數傳遞。

隨機數生成用import random來實現。Python中最方便的就是有很多強大的庫支持,現在我們可以直接導入一個random的內置庫,用它來生成隨機數。如:

1 import random2 point = random.randrange(1,7)3 # random.randrange(1,7)生成1-6的隨機數4 print(point)

print(point)后可以看到打印出的隨機數,每次運行結果都是隨機的。

接下來我們看下搖骰子這部分的完整代碼:

import randomdef roll_dice(numbers = 3,points = None): print('----- 搖骰子 -----') if points is None:  points = []  # points為空列表,后續可以插入新值到該列表 while numbers > 0:  point = random.randrange(1,7)  points.append(point)  # 用append()方法將point數值插入points列表中  numbers = numbers - 1  # 完成一次,numbers減1,當小于等于0時不再執行該循環 return points

定大小:

11≤骰子總數≤18為大,3≤骰子總數≤10為小,代碼如下:

def roll_result(total): isBig = 11 <= total <=18 isSmall = 3 <= total <= 10 if isBig:  return '大' elif isSmall:  return '小'

玩游戲:

初始本金1000元,默認賠率1倍;贏了,獲得一倍金額,輸了,扣除1倍金額;本金為0時,游戲結束。

def start_game(): your_money = 1000 while your_money > 0:  print('----- 游戲開始 -----')  choices = ['大','小']  # choices賦值為大和小,用戶需輸入二者之一為正確  your_choice = input('請下注,大 or 小:')  your_bet = input('下注金額:')  if your_choice in choices:   points = roll_dice()   # 調用roll_dice函數   total = sum(points)   # sum為相加,將3個骰子的結果相加   youWin = your_choice == roll_result(total)   if youWin:    print('骰子點數:',points)    print('恭喜,你贏了 {} 元,你現在有 {} 元本金'.format(your_bet,your_money + int(your_bet)))    # your_bet是字符串格式,這里需要轉化為int類型進行計算    your_money = your_money + int(your_bet)    # 最新本金   else:    print('骰子點數:',points)    print('很遺憾,你輸了 {} 元,你現在有 {} 元本金'.format(your_bet, your_money - int(your_bet)))    your_money = your_money - int(your_bet)  else:   print('格式有誤,請重新輸入')   # 如果輸入的不是choices列表中的大或小,則為格式有誤 else:  print('游戲結束')start_game()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵武市| 伊川县| 余干县| 安平县| 蓝田县| 石首市| 绵竹市| 正宁县| 全椒县| 凤阳县| 广宗县| 曲周县| 景洪市| 晋江市| 乐昌市| 鞍山市| 中西区| 巫溪县| 龙南县| 云南省| 馆陶县| 遂溪县| 临洮县| 新营市| 阿拉善左旗| 余干县| 色达县| 通渭县| 合作市| 航空| 柞水县| 滦平县| 贵阳市| 申扎县| 淮阳县| 米林县| 苗栗县| 五常市| 武鸣县| 汕头市| 鲁山县|