国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

通過構建一個簡單的擲骰子游戲去學習怎么用Python編程

開發 后端
Python 是一個非常流行的編程語言,它可以用于創建桌面應用程序、3D 圖形、視頻游戲、甚至是網站。它是非常好的首選編程語言,因為它易于學習。 即使如此, Python 依然也是強大且健壯的,足以創建高級的應用程序,并且幾乎適用于所有使用電腦的行業。不論是經驗豐富的老程序員,還是沒有經驗的新手,Python 都是一個非常好的編程語言。

[[210904]]

不論是經驗豐富的老程序員,還是沒有經驗的新手,Python 都是一個非常好的編程語言。

Python 是一個非常流行的編程語言,它可以用于創建桌面應用程序、3D 圖形、視頻游戲、甚至是網站。它是非常好的***編程語言,因為它易于學習,不像一些復雜的語言,比如,C、 C++、 或 Java。 即使如此, Python 依然也是強大且健壯的,足以創建高級的應用程序,并且幾乎適用于所有使用電腦的行業。不論是經驗豐富的老程序員,還是沒有經驗的新手,Python 都是一個非常好的編程語言。

安裝 Python

在學習 Python 之前,你需要先去安裝它:

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

  1. python3 -V 

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

MacOS: 如果你使用的是一臺 Mac,可以看上面 Linux 的介紹來確認是否安裝了 Python 3。MacOS 沒有內置的包管理器,因此,如果發現沒有安裝 Python 3,可以從 python.org/downloads/mac-osx 安裝它。即使 macOS 已經安裝了 Python 2,你還是應該學習 Python 3。

Windows: 微軟 Windows 當前是沒有安裝 Python 的。從 python.org/downloads/windows 安裝它。在安裝向導中一定要選擇 Add Python to PATH 來將 Python 執行程序放到搜索路徑。

在 IDE 中運行

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

IDLE 3

Python 自帶的一個基本的 IDE 叫做 IDLE。

IDLE 

它有關鍵字高亮功能,可以幫助你檢測拼寫錯誤,并且有一個“運行”按鈕可以很容易地快速測試代碼。

要使用它:

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

Ninja-IDE

Ninja-IDE 是一個優秀的 Python IDE。它有關鍵字高亮功能可以幫助你檢測拼寫錯誤、引號和括號補全以避免語法錯誤,行號(在調試時很有幫助)、縮進標記,以及運行按鈕可以很容易地進行快速代碼測試。 

Ninja-IDE

Ninja-IDE

要使用它:

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

Ninja-IDE 中的 Python3

Ninja-IDE 中的 Python3

告訴 Python 想做什么

關鍵字可以告訴 Python 你想要做什么。不論是在 IDLE 還是在 Ninja 中,轉到 File 菜單并創建一個新文件。對于 Ninja 用戶:不要創建一個新項目,僅創建一個新文件。

在你的新的空文件中,在 IDLE 或 Ninja 中輸入以下內容:

  1. print("Hello world."
  • 如果你使用的是 IDLE,轉到 Run 菜單并選擇 Run module 選項。
  • 如果你使用的是 Ninja,在左側按鈕條中點擊 Run File 按鈕。 

在 Ninja 中運行文件

在 Ninja 中運行文件

關鍵字 print 告訴 Python 去打印輸出在圓括號中引用的文本內容。

雖然,這并不是特別刺激。在其內部, Python 只能訪問基本的關鍵字,像 print、 help,最基本的數學函數,等等。

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

警告:不要命名你的文件名為 turtle.py,因為名為 turtle.py 的文件是包含在你正在控制的 turtle (海龜)程序中的。命名你的文件名為 turtle.py ,將會把 Python 搞糊涂,因為它會認為你將導入你自己的文件。

在你的文件中輸入下列的代碼,然后運行它:

  1. import turtle 

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

  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() 

看一看你現在用 turtle 模塊畫出了一個什么形狀。

要擦除你的海龜畫圖區,使用 turtle.clear() 關鍵字。想想看,使用 turtle.color("blue") 關鍵字會出現什么情況?

嘗試更復雜的代碼:

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

運行完你的腳本后,是時候探索更有趣的模塊了。

通過創建一個游戲來學習 Python

想學習更多的 Python 關鍵字,和用圖形編程的高級特性,讓我們來關注于一個游戲邏輯。在這個教程中,我們還將學習一些關于計算機程序是如何構建基于文本的游戲的相關知識,在游戲里面計算機和玩家擲一個虛擬骰子,其中擲的***的是贏家。

規劃你的游戲

在寫代碼之前,最重要的事情是考慮怎么去寫。在他們寫代碼 之前,許多程序員是先 寫簡單的文檔,這樣,他們就有一個編程的目標。如果你想給這個程序寫個文檔的話,這個游戲看起來應該是這樣的:

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

這是一個簡單的游戲,但是,文檔會告訴你需要做的事很多。例如,它告訴你寫這個游戲需要下列的組件:

  •     玩家:你需要一個人去玩這個游戲。
  •     AI:計算機也必須去擲,否則,就沒有什么輸或贏了
  •     隨機數:一個常見的六面骰子表示從 1-6 之間的一個隨機數
  •     運算:一個簡單的數學運算去比較一個數字與另一個數字的大小
  •     一個贏或者輸的信息
  •     一個再次玩或退出的提示

制作擲骰子游戲的 alpha 版

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

變量是一個經常要改變的值,它在 Python 中使用的非常多。每當你需要你的程序去“記住”一些事情的時候,你就要使用一個變量。事實上,運行于代碼中的信息都保存在變量中。例如,在數學方程式 x + 5 = 20 中,變量是 x ,因為字母  x 是一個變量占位符。

整數是一個數字, 它可以是正數也可以是負數。例如,1 和 -1 都是整數,因此,14、21,甚至 10947 都是。

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

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

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

啟動你的游戲,確保它能工作。

這個游戲的基本版本已經工作的非常好了。它實現了游戲的基本目標,但是,它看起來不像是一個游戲。玩家不知道他們搖了什么,電腦也不知道搖了什么,并且,即使玩家還想玩但是游戲已經結束了。

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

改善這個游戲

在你的游戲的第二個版本中(稱為 beta 版),將做一些改進,讓它看起來像一個游戲。

1、描述結果

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

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

現在,如果你運行這個游戲,它將崩潰,因為 Python 認為你在嘗試做數學運算。它認為你試圖在 player 變量上加字母 You rolled ,而保存在其中的是數字。

你必須告訴 Python 處理在 player 和 ai 變量中的數字,就像它們是一個句子中的單詞(一個字符串)而不是一個數學方程式中的一個數字(一個整數)。

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

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

現在運行你的游戲將看到該結果。

2、讓它慢下來

計算機運行的非常快。人有時可以很快,但是在游戲中,產生懸念往往更好。你可以使用 Python 的 time 函數,在這個緊張時刻讓你的游戲慢下來。

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

啟動你的游戲去測試變化。

3、檢測關系

如果你多玩幾次你的游戲,你就會發現,即使你的游戲看起來運行很正確,它實際上是有一個 bug 在里面:當玩家和電腦搖出相同的數字的時候,它就不知道該怎么辦了。

去檢查一個值是否與另一個值相等,Python 使用 ==。那是個“雙”等號標記,不是一個。如果你僅使用一個,Python 認為你嘗試去創建一個新變量,但是,實際上你是去嘗試做數學運算。

當你想有比兩個選項(即,贏或輸)更多的選擇時,你可以使用 Python 的 elif 關鍵字,它的意思是“否則,如果”。這允許你的代碼去檢查,是否在“許多”結果中有一個是 true, 而不是只檢查“一個”是 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"

多運行你的游戲幾次,去看一下你能否和電腦搖出一個平局。

編寫最終版

你的擲骰子游戲的 beta 版的功能和感覺比起 alpha 版更像游戲了,對于最終版,讓我們來創建你的***個 Python 函數。

函數是可以作為一個獨立的單元來調用的一組代碼的集合。函數是非常重要的,因為,大多數應用程序里面都有許多代碼,但不是所有的代碼都只運行一次。函數可以啟用應用程序并控制什么時候可以發生什么事情。

將你的代碼變成這樣:

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

游戲的這個版本,在他們玩游戲之后會詢問玩家是否退出。如果他們用一個 Y 或 y 去響應, Python 就會調用它的 exit 函數去退出游戲。

更重要的是,你將創建一個稱為 dice 的你自己的函數。這個 dice 函數并不會立即運行,事實上,如果在這個階段你嘗試去運行你的游戲,它不會崩潰,但它也不會正式運行。要讓 dice 函數真正運行起來做一些事情,你必須在你的代碼中去調用它。

在你的現有代碼下面增加這個循環,前兩行就是上文中的前兩行,不需要再次輸入,并且要注意哪些需要縮進哪些不需要。要注意縮進格式。

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

while True 代碼塊首先運行。因為 True 被定義為總是真,這個代碼塊將一直運行,直到 Python 告訴它退出為止。

while True 代碼塊是一個循環。它首先提示用戶去啟動這個游戲,然后它調用你的 dice 函數。這就是游戲的開始。當 dice 函數運行結束,根據玩家的回答,你的循環再次運行或退出它。

使用循環來運行程序是編寫應用程序最常用的方法。循環確保應用程序保持長時間的可用,以便計算機用戶使用應用程序中的函數。

下一步 

現在,你已經知道了 Python 編程的基礎知識。這個系列的下一篇文章將描述怎么使用 PyGame 去編寫一個視頻游戲,一個比 turtle 模塊有更多功能的模塊,但它也更復雜一些。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-11-30 13:16:29

Python編程語言

2021-01-03 16:30:34

Rust編程語言

2021-01-14 08:55:20

C語言編程

2021-01-01 19:30:21

Python編程語言

2019-09-23 09:11:02

Python文本編輯器操作系統

2019-05-14 12:30:07

PythonPygame游戲框架

2021-02-05 16:03:48

JavaScript游戲學習前端

2016-09-14 17:48:44

2020-11-09 06:38:00

ninja構建方式構建系統

2021-01-05 12:38:53

C++編程語言軟件開發

2018-03-19 17:40:10

Python區塊鏈

2017-11-21 09:20:06

深度學習TensorFlow游戲AI

2016-09-21 12:54:10

CAAS系統鏡像

2017-06-08 15:53:38

PythonWeb框架

2020-07-20 10:00:52

Python翻譯工具命令行

2018-09-17 15:12:25

人工智能神經網絡編程語言

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混合應用
點贊
收藏

51CTO技術棧公眾號

亚洲精品欧美日韩| 久久97精品久久久久久久不卡| 日韩久久在线| 99热国内精品永久免费观看| 国产精品视频在线看| 99riav视频| 一级在线免费视频| 国产成人精品亚洲日本在线桃色| 成人国产精品av| 九色porny丨国产精品| 日韩毛片在线一区二区毛片| 欧美国产亚洲精品久久久8v| 国产成人免费视频网站| 亚洲天堂成人在线观看| 香蕉久久夜色精品国产使用方法| 国产一二三视频| 日本一区二区高清视频| 日韩成人小视频| 一区二区三区成人在线视频| 六月丁香综合| 91精品日本| 黄色三级高清在线播放| 国内精品久久国产| 欧美一级黄色大片| 久久99国产精品久久99大师 | 亚洲男人天堂色| 精品欧美一区二区久久| 亚洲永久在线| avtt在线播放| 欧美日韩综合另类| 成人欧美一区二区三区视频网页| 国产黄色在线网站| 日韩中文字幕在线| 久久精品国产第一区二区三区| 精品国产99久久久久久| 亚洲欧美aⅴ...| 麻豆tv在线播放| 亚洲日本欧美日韩高观看| 国产精品99久久久久久久vr| 青青国产精品| 天堂成人在线| 欧美日韩在线播放一区二区| 欧美视频三区在线播放| 日本特黄久久久高潮| 97在线超碰| 久久精品99国产| 精品国产美女在线| 国产精品毛片a∨一区二区三区| 加勒比色综合久久久久久久久| 天天看片激情网站| 韩国成人一区| 亚洲精品中文字幕av| 91小视频免费观看| 欧美国内亚洲| 丁香久久综合| 天堂中文字幕| 亚洲欧美日韩另类精品一区二区三区| 亚洲天堂免费视频| www.亚洲免费av| 久久免费大视频| 黑人精品视频| 免费男女羞羞的视频网站中文字幕| 国产一区二区在线播放| 精品三级av在线| 亚洲欧美自拍偷拍| 极品少妇一区二区| 欧美综合久久| 99国内精品久久久久| 四虎精品在线| 亚洲77777| 神马一区二区影院| 国产精品福利久久久| 国产一区二区三区日韩欧美| 在线观看日产精品| 久久精品亚洲乱码伦伦中文| 午夜一区不卡| 日韩成人免费| 久久91在线| 亚洲美女尤物影院| 免费av毛片在线看| 中文字幕不卡免费视频| 国产亚洲精品网站| 日本一区二区三区四区高清视频 | 51一区二区三区| 色播色播色播色播色播在线| 丁香啪啪综合成人亚洲| 青青草成人免费在线视频| 久久综合给合久久狠狠色| 国产精品日韩欧美综合| 国产精品情侣自拍| 91av在线播放| 国语自产偷拍精品视频偷| 久久精品国产欧美亚洲人人爽| 欧美电影免费提供在线观看| 日韩一级高清毛片| 欧美日韩高清在线播放| 9191国产精品| 欧美一区二视频| 精品少妇一区二区三区| 亚洲精品视频二区| 亚洲精品国产综合久久| 国产午夜精品免费一区二区三区 | 欧洲亚洲精品久久久久| 国产精品蜜臀| 欧美日韩五码| 国产suv精品一区| 亚洲人成精品久久久 | 一本二本三本亚洲码| 久久av秘一区二区三区| 91成人综合网| 免费视频二区| 色视频在线免费观看| 欧洲在线视频| 日本一区免费网站| 亚洲免费影视第一页| 中文字幕在线观看日韩| 久久久久久久久一区二区| 国产精品对白刺激久久久| 亚洲精品在线免费观看视频| 国产 欧美在线| 99久久99久久久精品齐齐| 国产欧美在线观看一区| 亚洲一二三区不卡| 日韩精品一区二区三区三区免费| 国产婷婷色综合av蜜臀av| 色吊一区二区三区| 亚洲国产美女精品久久久久∴| 欧美男插女视频| 精品国产福利| 五月婷婷丁香色| aⅴ在线视频男人的天堂| 欧美美女日韩| 极品美女一区二区三区| 另类中文字幕网| 亚洲免费在线看| 亚洲护士老师的毛茸茸最新章节| 国产精品ⅴa在线观看h| 永久免费网站视频在线观看| 最新中文在线视频| 粉嫩av一区二区三区四区五区| 性欧美欧美巨大69| 中文字幕一区二区三区四区| 欧美成人艳星乳罩| 日韩av不卡电影| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 成年人黄视频在线观看| 欧洲杯什么时候开赛| 久久久青草青青国产亚洲免观| 欧美一级在线免费| 91久久精品国产91久久| 电影天堂最新网址| 亚洲高清在线一区| 岛国精品在线观看| 日韩欧美一级二级| 99国产在线观看| 国产91久久久久蜜臀青青天草二 | 成人动漫av在线| 亚洲永久网站| 影音先锋久久精品| 福利一区二区在线观看| 欧美三级日本三级少妇99| 777午夜精品福利在线观看| 久艹在线视频| 麻豆精品国产91久久久久久| 欧美精品videos另类日本| 久久国产精品高清一区二区三区| 免费高清视频精品| 国内揄拍国内精品少妇国语| 岛国成人毛片| 亚洲精品国产第一综合99久久 | 亚洲精品一区二区精华| 日本福利视频一区| 日韩电影一区| 日韩在线视频二区| 国产精品99999| 久久先锋影音av鲁色资源网| 国产高清精品一区二区| 精品国产麻豆| 中文字幕成人av| 国产精品日韩在线观看| 国产美女免费观看| 亚洲人成在线影院| 日韩av中文字幕在线播放| 石原莉奈一区二区三区高清在线| 色豆豆成人网| 中文字幕制服丝袜一区二区三区| 成人av在线亚洲| 久久69成人| 日韩无一区二区| 少妇**av毛片在线看| 国产精品一卡二| 国产97色在线| 日韩久久一区二区三区| 一本色道久久综合精品竹菊 | 欧美日韩成人在线一区| 一二三四视频社区在线| 伊人久久成人| 国产日韩欧美91| 国产精品xxx在线观看| 精品无人区太爽高潮在线播放 |