成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的擲骰子游戲去學(xué)習(xí)怎么用Python編程

開發(fā) 后端
不論是經(jīng)驗(yàn)豐富的老程序員,還是沒(méi)有經(jīng)驗(yàn)的新手,Python 都是一個(gè)非常好的編程語(yǔ)言。

[[354763]]

不論是經(jīng)驗(yàn)豐富的老程序員,還是沒(méi)有經(jīng)驗(yàn)的新手,Python 都是一個(gè)非常好的編程語(yǔ)言。

Python 是一個(gè)非常流行的編程語(yǔ)言,它可以用于創(chuàng)建桌面應(yīng)用程序、3D 圖形、視頻游戲、甚至是網(wǎng)站。它是非常好的首選編程語(yǔ)言,因?yàn)樗子趯W(xué)習(xí),不像一些復(fù)雜的語(yǔ)言,比如,C、 C++、 或 Java。 即使如此, Python 依然也是強(qiáng)大且健壯的,足以創(chuàng)建高級(jí)的應(yīng)用程序,并且?guī)缀踹m用于所有使用電腦的行業(yè)。不論是經(jīng)驗(yàn)豐富的老程序員,還是沒(méi)有經(jīng)驗(yàn)的新手,Python 都是一個(gè)非常好的編程語(yǔ)言。

安裝 Python

在學(xué)習(xí) Python 之前,你需要先去安裝它:

Linux: 如果你使用的是 Linux 系統(tǒng), Python 是已經(jīng)包含在里面了。但是,你如果確定要使用 Python 3 。應(yīng)該去檢查一下你安裝的 Python 版本,打開一個(gè)終端窗口并輸入:

  1. python3 -V

如果提示該命令沒(méi)有找到,你需要從你的包管理器中去安裝 Python 3。

MacOS: 如果你使用的是一臺(tái) Mac,可以看上面 Linux 的介紹來(lái)確認(rèn)是否安裝了 Python 3。MacOS 沒(méi)有內(nèi)置的包管理器,因此,如果發(fā)現(xiàn)沒(méi)有安裝 Python 3,可以從 python.org/downloads/mac-osx 安裝它。即使 macOS 已經(jīng)安裝了 Python 2,你還是應(yīng)該學(xué)習(xí) Python 3。

Windows: 微軟 Windows 當(dāng)前是沒(méi)有安裝 Python 的。從 python.org/downloads/windows 安裝它。在安裝向?qū)е幸欢ㄒx擇 Add Python to PATH 來(lái)將 Python 執(zhí)行程序放到搜索路徑。

在 IDE 中運(yùn)行

在 Python 中寫程序,你需要準(zhǔn)備一個(gè)文本編輯器,使用一個(gè)集成開發(fā)環(huán)境(IDE)是非常實(shí)用的。IDE 在一個(gè)文本編輯器中集成了一些方便而有用的 Python 功能。IDLE 3 和 NINJA-IDE 是你可以考慮的兩種選擇:

IDLE 3

Python 自帶的一個(gè)基本的 IDE 叫做 IDLE。

 

IDLE

它有關(guān)鍵字高亮功能,可以幫助你檢測(cè)拼寫錯(cuò)誤,并且有一個(gè)“運(yùn)行”按鈕可以很容易地快速測(cè)試代碼。

要使用它:

  • 在 Linux 或 macOS 上,啟動(dòng)一個(gè)終端窗口并輸入 idle3
  • 在 Windows,從開始菜單中啟動(dòng) Python 3。
    • 如果你在開始菜單中沒(méi)有看到 Python,在開始菜單中通過(guò)輸入 cmd 啟動(dòng) Windows 命令提示符,然后輸入 C:\Windows\py.exe
    • 如果它沒(méi)有運(yùn)行,試著重新安裝 Python。并且確認(rèn)在安裝向?qū)е羞x擇了 “Add Python to PATH”。參考 docs.python.org/3/using/windows.html 中的詳細(xì)介紹。
    • 如果仍然不能運(yùn)行,那就使用 Linux 吧!它是免費(fèi)的,只要將你的 Python 文件保存到一個(gè) U 盤中,你甚至不需要安裝它就可以使用。

Ninja-IDE

Ninja-IDE 是一個(gè)優(yōu)秀的 Python IDE。它有關(guān)鍵字高亮功能可以幫助你檢測(cè)拼寫錯(cuò)誤、引號(hào)和括號(hào)補(bǔ)全以避免語(yǔ)法錯(cuò)誤,行號(hào)(在調(diào)試時(shí)很有幫助)、縮進(jìn)標(biāo)記,以及運(yùn)行按鈕可以很容易地進(jìn)行快速代碼測(cè)試。

 

Ninja-IDE

要使用它:

  1. 安裝 Ninja-IDE。如果你使用的是 Linux,使用包管理器安裝是非常簡(jiǎn)單的;否則, 從 NINJA-IDE 的網(wǎng)站上 下載 合適的安裝版本。
  2. 啟動(dòng) Ninja-IDE。
  3. 轉(zhuǎn)到 Edit 菜單,并選擇 Preferences 設(shè)置。
  4. 在 Preferences 窗口中,點(diǎn)擊 Execution 選項(xiàng)卡。
  5. 在 Execution 選項(xiàng)卡上,更改 python 為 python3

 

Ninja-IDE 中的 Python3

告訴 Python 想做什么

關(guān)鍵字可以告訴 Python 你想要做什么。不論是在 IDLE 還是在 Ninja 中,轉(zhuǎn)到 File 菜單并創(chuàng)建一個(gè)新文件。對(duì)于 Ninja 用戶:不要?jiǎng)?chuàng)建一個(gè)新項(xiàng)目,僅創(chuàng)建一個(gè)新文件。

在你的新的空文件中,在 IDLE 或 Ninja 中輸入以下內(nèi)容:

  1.     print("Hello world.")
  • 如果你使用的是 IDLE,轉(zhuǎn)到 Run 菜單并選擇 Run module 選項(xiàng)。
  • 如果你使用的是 Ninja,在左側(cè)按鈕條中點(diǎn)擊 Run File 按鈕。

 

在 Ninja 中運(yùn)行文件

關(guān)鍵字 print 告訴 Python 去打印輸出在圓括號(hào)中引用的文本內(nèi)容。

雖然,這并不是特別刺激。在其內(nèi)部, Python 只能訪問(wèn)基本的關(guān)鍵字,像 print、 help,最基本的數(shù)學(xué)函數(shù),等等。

可以使用 import 關(guān)鍵字加載更多的關(guān)鍵字。在 IDLE 或 Ninja 中開始一個(gè)新文件,命名為 pen.py

警告:不要命名你的文件名為 turtle.py,因?yàn)槊麨?nbsp;turtle.py 的文件是包含在你正在控制的 turtle (海龜)程序中的。命名你的文件名為 turtle.py ,將會(huì)把 Python 搞糊涂,因?yàn)樗鼤?huì)認(rèn)為你將導(dǎo)入你自己的文件。

在你的文件中輸入下列的代碼,然后運(yùn)行它:

  1.     import turtle

Turtle 是一個(gè)非常有趣的模塊,試著這樣做:

  1.     turtle.begin_fill()
  2.     turtle.forward(100)
  3.     turtle.left(90)
  4.     turtle.forward(100)
  5.     turtle.left(90)
  6.     turtle.forward(100)
  7.     turtle.left(90)
  8.     turtle.forward(100)
  9.     turtle.end_fill()

看一看你現(xiàn)在用 turtle 模塊畫出了一個(gè)什么形狀。

要擦除你的海龜畫圖區(qū),使用 turtle.clear() 關(guān)鍵字。想想看,使用 turtle.color("blue") 關(guān)鍵字會(huì)出現(xiàn)什么情況?

嘗試更復(fù)雜的代碼:

  1.     import turtle as t
  2.     import time
  3.  
  4.     t.color("blue")
  5.     t.begin_fill()
  6.  
  7.     counter=0
  8.  
  9.     while counter < 4:
  10.         t.forward(100)
  11.         t.left(90)
  12.         counter = counter+1
  13.  
  14.     t.end_fill()
  15.     time.sleep(5)

運(yùn)行完你的腳本后,是時(shí)候探索更有趣的模塊了。

通過(guò)創(chuàng)建一個(gè)游戲來(lái)學(xué)習(xí) Python

想學(xué)習(xí)更多的 Python 關(guān)鍵字,和用圖形編程的高級(jí)特性,讓我們來(lái)關(guān)注于一個(gè)游戲邏輯。在這個(gè)教程中,我們還將學(xué)習(xí)一些關(guān)于計(jì)算機(jī)程序是如何構(gòu)建基于文本的游戲的相關(guān)知識(shí),在游戲里面計(jì)算機(jī)和玩家擲一個(gè)虛擬骰子,其中擲的最高的是贏家。

規(guī)劃你的游戲

在寫代碼之前,最重要的事情是考慮怎么去寫。在他們寫代碼 之前,許多程序員是先 寫簡(jiǎn)單的文檔,這樣,他們就有一個(gè)編程的目標(biāo)。如果你想給這個(gè)程序?qū)憘€(gè)文檔的話,這個(gè)游戲看起來(lái)應(yīng)該是這樣的:

  1. 啟動(dòng)擲骰子游戲并按下 Return 或 Enter 去擲骰子
  2. 結(jié)果打印在你的屏幕上
  3. 提示你再次擲骰子或者退出

這是一個(gè)簡(jiǎn)單的游戲,但是,文檔會(huì)告訴你需要做的事很多。例如,它告訴你寫這個(gè)游戲需要下列的組件:

  • 玩家:你需要一個(gè)人去玩這個(gè)游戲。
  • AI:計(jì)算機(jī)也必須去擲,否則,就沒(méi)有什么輸或贏了
  • 隨機(jī)數(shù):一個(gè)常見的六面骰子表示從 1-6 之間的一個(gè)隨機(jī)數(shù)
  • 運(yùn)算:一個(gè)簡(jiǎn)單的數(shù)學(xué)運(yùn)算去比較一個(gè)數(shù)字與另一個(gè)數(shù)字的大小
  • 一個(gè)贏或者輸?shù)男畔?/li>
  • 一個(gè)再次玩或退出的提示

制作擲骰子游戲的 alpha 版

很少有程序,一開始就包含其所有的功能,因此,它們的初始版本僅實(shí)現(xiàn)最基本的功能。首先是幾個(gè)定義:

變量是一個(gè)經(jīng)常要改變的值,它在 Python 中使用的非常多。每當(dāng)你需要你的程序去“記住”一些事情的時(shí)候,你就要使用一個(gè)變量。事實(shí)上,運(yùn)行于代碼中的信息都保存在變量中。例如,在數(shù)學(xué)方程式 x + 5 = 20 中,變量是 x ,因?yàn)樽帜?nbsp; x 是一個(gè)變量占位符。

整數(shù)是一個(gè)數(shù)字, 它可以是正數(shù)也可以是負(fù)數(shù)。例如,1-1 都是整數(shù),因此,1421,甚至 10947 都是。

在 Python 中變量創(chuàng)建和使用是非常容易的。這個(gè)擲骰子游戲的初始版使用了兩個(gè)變量: player 和 ai

在命名為 dice_alpha.py 的新文件中輸入下列代碼:

  1.     import random
  2.  
  3.     player = random.randint(1,6)
  4.     ai = random.randint(1,6)
  5.  
  6.     if player > ai :
  7.         print("You win")  # notice indentation
  8.     else:
  9.         print("You lose")

啟動(dòng)你的游戲,確保它能工作。

這個(gè)游戲的基本版本已經(jīng)工作的非常好了。它實(shí)現(xiàn)了游戲的基本目標(biāo),但是,它看起來(lái)不像是一個(gè)游戲。玩家不知道他們搖了什么,電腦也不知道搖了什么,并且,即使玩家還想玩但是游戲已經(jīng)結(jié)束了。

這是軟件的初始版本(通常稱為 alpha 版)。現(xiàn)在你已經(jīng)確信實(shí)現(xiàn)了游戲的主要部分(擲一個(gè)骰子),是時(shí)候該加入到程序中了。

改善這個(gè)游戲

在你的游戲的第二個(gè)版本中(稱為 beta 版),將做一些改進(jìn),讓它看起來(lái)像一個(gè)游戲。

1、 描述結(jié)果

不要只告訴玩家他們是贏是輸,他們更感興趣的是他們擲的結(jié)果。在你的代碼中嘗試做如下的改變:

  1.     player = random.randint(1,6)
  2.     print("You rolled " + player)
  3.  
  4.     ai = random.randint(1,6)
  5.     print("The computer rolled " + ai)

現(xiàn)在,如果你運(yùn)行這個(gè)游戲,它將崩潰,因?yàn)?Python 認(rèn)為你在嘗試做數(shù)學(xué)運(yùn)算。它認(rèn)為你試圖在 player 變量上加字母 You rolled ,而保存在其中的是數(shù)字。

你必須告訴 Python 處理在 playerai 變量中的數(shù)字,就像它們是一個(gè)句子中的單詞(一個(gè)字符串)而不是一個(gè)數(shù)學(xué)方程式中的一個(gè)數(shù)字(一個(gè)整數(shù))。

在你的代碼中做如下的改變:

  1.     player = random.randint(1,6)
  2.     print("You rolled " + str(player) )
  3.  
  4.     ai = random.randint(1,6)
  5.     print("The computer rolled " + str(ai) )

現(xiàn)在運(yùn)行你的游戲?qū)⒖吹皆摻Y(jié)果。

2、 讓它慢下來(lái)

計(jì)算機(jī)運(yùn)行的非常快。人有時(shí)可以很快,但是在游戲中,產(chǎn)生懸念往往更好。你可以使用 Python 的 time 函數(shù),在這個(gè)緊張時(shí)刻讓你的游戲慢下來(lái)。

  1.     import random
  2.     import time
  3.  
  4.     player = random.randint(1,6)
  5.     print("You rolled " + str(player) )
  6.  
  7.     ai = random.randint(1,6)
  8.     print("The computer rolls...." )
  9.     time.sleep(2)
  10.     print("The computer has rolled a " + str(player) )
  11.  
  12.     if player > ai :
  13.         print("You win")  # notice indentation
  14.     else:
  15.         print("You lose")

啟動(dòng)你的游戲去測(cè)試變化。

3、 檢測(cè)關(guān)系

如果你多玩幾次你的游戲,你就會(huì)發(fā)現(xiàn),即使你的游戲看起來(lái)運(yùn)行很正確,它實(shí)際上是有一個(gè) bug 在里面:當(dāng)玩家和電腦搖出相同的數(shù)字的時(shí)候,它就不知道該怎么辦了。

去檢查一個(gè)值是否與另一個(gè)值相等,Python 使用 ==。那是個(gè)“雙”等號(hào)標(biāo)記,不是一個(gè)。如果你僅使用一個(gè),Python 認(rèn)為你嘗試去創(chuàng)建一個(gè)新變量,但是,實(shí)際上你是去嘗試做數(shù)學(xué)運(yùn)算。

當(dāng)你想有比兩個(gè)選項(xiàng)(即,贏或輸)更多的選擇時(shí),你可以使用 Python 的 elif 關(guān)鍵字,它的意思是“否則,如果”。這允許你的代碼去檢查,是否在“許多”結(jié)果中有一個(gè)是 true, 而不是只檢查“一個(gè)”是 true

像這樣修改你的代碼:

  1.     if player > ai :
  2.         print("You win")  # notice indentation
  3.     elif player == ai:
  4.         print("Tie game.")
  5.     else:
  6.         print("You lose")

多運(yùn)行你的游戲幾次,去看一下你能否和電腦搖出一個(gè)平局。

編寫最終版

你的擲骰子游戲的 beta 版的功能和感覺(jué)比起 alpha 版更像游戲了,對(duì)于最終版,讓我們來(lái)創(chuàng)建你的第一個(gè) Python 函數(shù)

函數(shù)是可以作為一個(gè)獨(dú)立的單元來(lái)調(diào)用的一組代碼的集合。函數(shù)是非常重要的,因?yàn)椋蠖鄶?shù)應(yīng)用程序里面都有許多代碼,但不是所有的代碼都只運(yùn)行一次。函數(shù)可以啟用應(yīng)用程序并控制什么時(shí)候可以發(fā)生什么事情。

將你的代碼變成這樣:

  1.     import random
  2.     import time
  3.  
  4.     def dice():
  5.         player = random.randint(1,6)
  6.         print("You rolled " + str(player) )
  7.  
  8.         ai = random.randint(1,6)
  9.         print("The computer rolls...." )
  10.         time.sleep(2)
  11.         print("The computer has rolled a " + str(player) )
  12.  
  13.         if player > ai :
  14.             print("You win")  # notice indentation
  15.         else:
  16.             print("You lose")
  17.  
  18.         print("Quit? Y/N")
  19.         cont = input()
  20.  
  21.         if cont == "Y" or cont == "y":
  22.             exit()
  23.         elif cont == "N" or cont == "n":
  24.             pass
  25.         else:
  26.             print("I did not understand that. Playing again.")

游戲的這個(gè)版本,在他們玩游戲之后會(huì)詢問(wèn)玩家是否退出。如果他們用一個(gè) Y 或 y 去響應(yīng), Python 就會(huì)調(diào)用它的 exit 函數(shù)去退出游戲。

更重要的是,你將創(chuàng)建一個(gè)稱為 dice 的你自己的函數(shù)。這個(gè) dice 函數(shù)并不會(huì)立即運(yùn)行,事實(shí)上,如果在這個(gè)階段你嘗試去運(yùn)行你的游戲,它不會(huì)崩潰,但它也不會(huì)正式運(yùn)行。要讓 dice 函數(shù)真正運(yùn)行起來(lái)做一些事情,你必須在你的代碼中去調(diào)用它

在你的現(xiàn)有代碼下面增加這個(gè)循環(huán),前兩行就是上文中的前兩行,不需要再次輸入,并且要注意哪些需要縮進(jìn)哪些不需要。要注意縮進(jìn)格式

  1.         else:
  2.             print("I did not understand that. Playing again.")
  3.  
  4.     # main loop
  5.     while True:
  6.         print("Press return to roll your die.")
  7.         roll = input()
  8.         dice()

while True 代碼塊首先運(yùn)行。因?yàn)?nbsp;True 被定義為總是真,這個(gè)代碼塊將一直運(yùn)行,直到 Python 告訴它退出為止。

while True 代碼塊是一個(gè)循環(huán)。它首先提示用戶去啟動(dòng)這個(gè)游戲,然后它調(diào)用你的 dice 函數(shù)。這就是游戲的開始。當(dāng) dice 函數(shù)運(yùn)行結(jié)束,根據(jù)玩家的回答,你的循環(huán)再次運(yùn)行或退出它。

使用循環(huán)來(lái)運(yùn)行程序是編寫應(yīng)用程序最常用的方法。循環(huán)確保應(yīng)用程序保持長(zhǎng)時(shí)間的可用,以便計(jì)算機(jī)用戶使用應(yīng)用程序中的函數(shù)。

下一步

現(xiàn)在,你已經(jīng)知道了 Python 編程的基礎(chǔ)知識(shí)。這個(gè)系列的下一篇文章將描述怎么使用 PyGame 去編寫一個(gè)視頻游戲,一個(gè)比 turtle 模塊有更多功能的模塊,但它也更復(fù)雜一些。

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2017-11-23 08:30:26

編程Python擲骰子游戲

2021-01-03 16:30:34

Rust編程語(yǔ)言

2021-01-14 08:55:20

C語(yǔ)言編程

2021-01-01 19:30:21

Python編程語(yǔ)言

2019-09-23 09:11:02

Python文本編輯器操作系統(tǒng)

2019-05-14 12:30:07

PythonPygame游戲框架

2021-02-05 16:03:48

JavaScript游戲?qū)W習(xí)前端

2016-09-14 17:48:44

2020-11-09 06:38:00

ninja構(gòu)建方式構(gòu)建系統(tǒng)

2021-01-05 12:38:53

C++編程語(yǔ)言軟件開發(fā)

2018-03-19 17:40:10

Python區(qū)塊鏈

2017-11-21 09:20:06

深度學(xué)習(xí)TensorFlow游戲AI

2016-09-21 12:54:10

CAAS系統(tǒng)鏡像

2017-06-08 15:53:38

PythonWeb框架

2020-07-20 10:00:52

Python翻譯工具命令行

2018-09-17 15:12:25

人工智能神經(jīng)網(wǎng)絡(luò)編程語(yǔ)言

2021-12-23 09:50:46

Python游戲腳本

2022-03-24 07:57:58

Python水果忍者游戲

2009-09-11 09:11:09

2014-12-08 10:03:47

IonicHybrid混合應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产清纯白嫩初高生在线播放视频 | 欧美日韩综合一区 | 免费一区 | 九九九精品视频 | 最新国产精品视频 | 992tv人人草 久久精品超碰 | 欧美在线一区二区三区 | 五月婷亚洲 | 99精品欧美一区二区三区综合在线 | 中文字幕 亚洲一区 | 国产精华一区 | 一级a性色生活片久久毛片波多野 | 国产99久久 | 久久伊人影院 | 99国内精品久久久久久久 | 黄色欧美大片 | 久久久久国产精品一区三寸 | 99精品视频在线观看 | 日韩在线视频免费观看 | 国产一区 | 日本三级播放 | 天天久久 | 欧美多人在线 | 欧美日韩精品一区 | 天天射网站 | 在线观看国产精品一区二区 | 久久久91 | 国产欧美日韩视频 | 国产黄色av网站 | 日韩精品三区 | 亚洲免费在线观看 | www.se91 | 国产精品视频不卡 | 国产精品久久a | 国产综合久久久久久鬼色 | 日韩国产专区 | 国产69久久精品成人看动漫 | 日韩在线小视频 | 欧美性极品xxxx做受 | 欧美亚洲高清 | 亚洲精品www久久久 www.蜜桃av |