筆記:深入淺出-程式設計(一)

更新於 發佈於 閱讀時間約 7 分鐘

為什麼要學習撰寫程式?

使用別人所撰寫的軟體時,總是會受限於別人所提供的特定功能,但是當你遇到了一些工作是目前現有的軟體都幫不上忙的情況該怎麼辦?

如果你會撰寫程式,這時候就可以自己創造一個專為解決此工作的程式;換句話說,撰寫程式讓你擁有控制電腦的力量。

安裝 Python

  • 首先必須在電腦中安裝 Python,在寫此系列文章時我所安裝的版本為: v.3.12.0。
  • 執行一個程式需要兩樣東西:編輯器(editor)與解譯器 (interpreter)。編輯器就是將你所寫得程式碼存在硬碟的檔案中,Python 的檔案副檔名為 .py;而解譯器負責把程式碼轉譯成電腦可以讀懂的 0,1檔案。
  • 在完成安裝 Python 後可以使用 Python3 隨附的 IDLE 內建應用程式。IDLE 這個應用程式是一個整合性開發環境 IDE(Integrated Development Environment),意思就是你可以在 IDLE 中完成編輯程式碼、轉譯為二進制形式最後執行程式。

先從一個猜數字大小的遊戲開始

  • 功能需求:請設計一個程式,讓使用者輸入一個數字判定是否猜對目標數字 5,如果猜對則輸出"You Win",如果猜錯則輸出"You Lose"。

程式碼:

print("Welcome")
g = input("Guess the number: ")
guess = int(g)
if(guess == 5):
print("You win")
else:
print("You lose")
print("Game Over")
  • 這段程式碼的意思:
  1. 顯示"Welcome"訊息
  2. 要求使用者輸入答案
  3. 輸入的答案轉成數字
  4. 判斷輸入的數字是否等於 5
  5. 如果等於則輸出"You Win"
  6. 如果不等於則輸出"You Lose"
  7. 最後遊戲結束輸出"Game Over"


分支條件 if/else

  • 程式必須在不同的狀況下做不同的事情,這就是分支條件(branch condition)的功能。分支條件具有true,false的值,當分支條件成立的時候,就會執行true分支的程式碼;反之分支條件不成立,就會執行false分支的程式碼。
  • if/else 分支條件:剛剛的程式碼內,我們就是利用了if/else 分支條件來決定程式要執行甚麼。當輸入的數值等於5時,就會進入 true 分支:輸出"You Win";如果輸入數值不等於5時,就會進入false分支:輸出"You Lose"。

增加提示訊息

  • 功能需求變更:使用者在輸入數值後想知道自己猜的數字比起目標數字是大還是小
  • 這時後除了要判斷是否等於目標數字以外,程式還需要多一個條件分支來判斷是否是大於還是小於目標數字,並且輸出相對應的提示訊息。

程式碼:

print("Welcome")
g = input("Guess the number: ")
guess = int(g)
if(guess == 5):
print("You win")
else:
if(guess > 5):
print("Too high")
else:
print("Too low")
print("You lose")

print("Game Over")


一遍又一遍的執行

  • 功能需求變更:剛剛的程式中如果使用者想要再猜一次數字的話就需要重新啟動程式,要如何才能讓使用者根據提示訊息反覆猜數字直到猜對呢?
  • 程式可以反覆執行每一片段的程式碼,這就是迴圈(loop)
  • 迴圈也和分支條件一樣擁有迴圈條件(loop condition),如果迴圈條件成立(true)就會執行迴圈內的程式碼;反之如果迴圈條件不成立(false),就會跳出迴圈。

程式碼:

print("Welcome")
guess = 0

while guess != 5:

g = input("Guess the number: ")
guess = int(g)
if(guess == 5):
print("You win")
else:
if(guess > 5):
print("Too high")
else:
print("Too low")
print("You lose")

print("Game Over")

While 迴圈

  • 上述的程式碼就是使用了While 迴圈讓使用者反覆猜數字直到猜對。
  • 在While 迴圈中,每次都會判斷 guess != 5 這個迴圈條件,如果成立(也就是使用者猜錯了),就會執行迴圈主體程式碼讓使用者猜數字;當迴圈條件不成立(也就是使用者猜對了),就會跳出迴圈並且輸出遊戲結束訊息。

每次都有點不一樣

  • 功能需求變更:現在猜數字遊戲已經完成,可是使用者只要玩過一次,就會知道目標數字是5,那要如何在每次使用者開啟程式時,都有一個隨機產生的目標數字呢?
  • 我們需要一個產生隨機數字的方法,這時候請在剛剛的程式碼最上面加入兩行程式碼,就可以每次產生介於1~10的隨機數字,然後把這個隨機數字設為目標數字。

程式碼:

from random import randint
secret = randint(1,10)

完整程式碼:

from random import randint
secret = randint(1,10)

print("Welcome")
guess = 0

while guess != secret:

g = input("Guess the number: ")
guess = int(g)
if(guess == secret):
print("You win")
else:
if(guess > secret):
print("Too high")
else:
print("Too low")
print("You lose")

print("Game Over")






留言
avatar-img
留言分享你的想法!
avatar-img
Ivan的沙龍
5會員
8內容數
Ivan的沙龍的其他內容
2023/11/08
奇怪,名字呢? 在上一章中,我們成功的將"result.txt"檔案讀進來,並且取得了前三名的分數,但是仔細想想,這個程式卻沒有輸出前三名相對應的人名,這樣要怎麼頒獎給獲勝的人呢? 功能需求變更:請將程式修改成可以一同輸出前三名的名字與其分數 分析:按照目前所學,我們可以再多創建一個陣列用來存
Thumbnail
2023/11/08
奇怪,名字呢? 在上一章中,我們成功的將"result.txt"檔案讀進來,並且取得了前三名的分數,但是仔細想想,這個程式卻沒有輸出前三名相對應的人名,這樣要怎麼頒獎給獲勝的人呢? 功能需求變更:請將程式修改成可以一同輸出前三名的名字與其分數 分析:按照目前所學,我們可以再多創建一個陣列用來存
Thumbnail
2023/10/30
複習一下: 我們學習了關於撰寫程式的相關觀念 條件分支(if/else) : 藉由條件分支讓程式執行相對應的功能。 迴圈(while loop ) :程式利用迴圈反覆執行某個區塊的程式碼。 字串處理 (string) : 每個程式都在處理資料,而字串是一種非常重要且常用的資料。 函式(fu
Thumbnail
2023/10/30
複習一下: 我們學習了關於撰寫程式的相關觀念 條件分支(if/else) : 藉由條件分支讓程式執行相對應的功能。 迴圈(while loop ) :程式利用迴圈反覆執行某個區塊的程式碼。 字串處理 (string) : 每個程式都在處理資料,而字串是一種非常重要且常用的資料。 函式(fu
Thumbnail
2023/10/21
函式 隨著程式功能越來越多,所撰寫的程式碼也會越來越龐大,此時要管理複雜的程式並不是很容易的事,此時可以利用函式來控制程式的複雜度。 提醒 本章節中原本有將訊息傳送給 Twitter 平台的範例,我將其修正為使用print()顯示訊息來模擬(為了不將時間花費在申請 Twitter 帳號)。
Thumbnail
2023/10/21
函式 隨著程式功能越來越多,所撰寫的程式碼也會越來越龐大,此時要管理複雜的程式並不是很容易的事,此時可以利用函式來控制程式的複雜度。 提醒 本章節中原本有將訊息傳送給 Twitter 平台的範例,我將其修正為使用print()顯示訊息來模擬(為了不將時間花費在申請 Twitter 帳號)。
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
為什麼要學習撰寫程式? 使用別人所撰寫的軟體時,總是會受限於別人所提供的特定功能,但是當你遇到了一些工作是目前現有的軟體都幫不上忙的情況該怎麼辦? 如果你會撰寫程式,這時候就可以自己創造一個專為解決此工作的程式;換句話說,撰寫程式讓你擁有控制電腦的力量。 安裝 Python 首先必須在電腦
Thumbnail
為什麼要學習撰寫程式? 使用別人所撰寫的軟體時,總是會受限於別人所提供的特定功能,但是當你遇到了一些工作是目前現有的軟體都幫不上忙的情況該怎麼辦? 如果你會撰寫程式,這時候就可以自己創造一個專為解決此工作的程式;換句話說,撰寫程式讓你擁有控制電腦的力量。 安裝 Python 首先必須在電腦
Thumbnail
Hi,大家好。我是茶桁。 在前面几节课的基础之上,我们今天开始尝试在Python中控制流程。这中间,让我们来做一些实际的练习。 Python语句的分类 让我们先了解一下Python语句的分类。 在Python中,可分为单行代码和代码块/组, 顾名思义,单行代码就是一行的Python代码,而代
Thumbnail
Hi,大家好。我是茶桁。 在前面几节课的基础之上,我们今天开始尝试在Python中控制流程。这中间,让我们来做一些实际的练习。 Python语句的分类 让我们先了解一下Python语句的分类。 在Python中,可分为单行代码和代码块/组, 顾名思义,单行代码就是一行的Python代码,而代
Thumbnail
進入選擇敘述語法了。常用的選擇敘述語法,弄懂了就運用自如。
Thumbnail
進入選擇敘述語法了。常用的選擇敘述語法,弄懂了就運用自如。
Thumbnail
今天想跟大家分享一個用python做的小遊戲,叫做1A2B,這個遊戲的規則很簡單,就是電腦會隨機產生一個四位數的數字,然後玩家要猜這個數字是什麼,每次猜完,電腦會給出幾A幾B的提示,A表示位置和數字都對,B表示數字對但位置不對;例如,如果電腦產生的數字是1234,玩家猜5678,那麼電腦會回
Thumbnail
今天想跟大家分享一個用python做的小遊戲,叫做1A2B,這個遊戲的規則很簡單,就是電腦會隨機產生一個四位數的數字,然後玩家要猜這個數字是什麼,每次猜完,電腦會給出幾A幾B的提示,A表示位置和數字都對,B表示數字對但位置不對;例如,如果電腦產生的數字是1234,玩家猜5678,那麼電腦會回
Thumbnail
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
Thumbnail
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
Thumbnail
在這篇Python學習筆記中,我們研究了條件判斷和迴圈,透過if、else、elif條件語句,我們能根據條件執行程式碼。使用for迴圈和while迴圈,我們可以重複執行程式碼塊。同時,我們還介紹了break和continue等控制流程的使用方法。這些概念將幫助你寫出更靈活和有趣的程式!
Thumbnail
在這篇Python學習筆記中,我們研究了條件判斷和迴圈,透過if、else、elif條件語句,我們能根據條件執行程式碼。使用for迴圈和while迴圈,我們可以重複執行程式碼塊。同時,我們還介紹了break和continue等控制流程的使用方法。這些概念將幫助你寫出更靈活和有趣的程式!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News