Python 新手村

用 Python 打造你的遊戲

2020

小草、RexWu

Part 1 - 勇者,開始冒險吧!

開始之前

Who Am I ?

  • RexWu
  • 19歲
  • 海大資工 大一生
  • Python、Django
  • Maker、IoT
  • 生存遊戲
  • 酒精研究 (X

10-sec of

安裝 Zoom (桌面分享)

喚起記憶!

先來複習一下上週學到的東西

print( 文字 )

輸出括號中的文字

print("Hello, World!")

變數名稱 = 資料

變數,用來存放等號後面的資料,並給它一個名字

# 正確
name = "小草"
age = 20
# 錯誤
1name = "小草"
a g e = 20

提醒:變數名稱開頭不能是數字、不能有空格

文字要用引號(單雙皆可)包起來

文字相加

欸嘿,試試看吧

name = "小草"
print("Hello, " + name + "!")

重複的文字

文字也可以做乘法呢

text = "阿密陀佛"
print(text * 3)

input()

取得輸入資料並存在一個變數裡

name = input("請告訴我你的名字:")

提示:括號內可以放提示文字

資料的型態

num = 10
name = 'Rex'
print(num)
print(name)
print(num + name)

str() => 字串、int() => 整數

if / else

條件判斷

if( 條件 ): / elif( 條件 ): / else:

括號(可省略)裡面放條件,冒號後換行放符合條件要做的事

grade = input("請輸入成績:")
if grade >= 80:
  print("A")
elif grade >= 60:
  print("B")
else:
  peinr("F")

if( 條件 ): / elif( 條件 ): / else:

if 就可以做條件判斷,那... elif 的作用是... ?

grade = input("請輸入成績:")
if grade >= 80:
  print("A")
if grade >= 60:
  print("B")
else:
  peinr("F")

if 的條件

# 大小比較
age < 16
age == 20
age >= 87

# 字串相等
name == "小草"
name != "小草"

相等需要兩個等號

if 的條件(cont.)

# 多條件
name == "小草" and age > 20

name == "Rex" or name == "小草"

not name == "Rex"
# 同等於 
name != "Rex"

作業解答

輸入一個名字和年齡

如果名字與年齡與你相符

輸出"沒錯,就是你!"

如果年齡小於或等於12歲

輸出 輸入的名字 + "你還太小不要用電腦"

不符合上述條件

輸出 輸入的名字 + "不要亂用我的電腦"

name = input("輸入你的名字?")
age = int(input("你年紀多大?"))

if name == "Rex" and age == 20:
	print("沒錯,就是你")
elif age <= 12 :
    print(name + "你還太小不要用電腦") 
else:
    print(name + "不要亂用我的電腦") 

新的一章

文字的魔法

文字的隱形斗蓬—程式註解

想在程式碼中留下筆記 或是

有部分程式碼要跳過,要怎麼辦呢?

print('大家好,我是一串文字!')
#大家好,我是一串不會被執行的灰色註解文字
"""
大家好
我是一串
跨了好多行的
註解文字
"""

特殊的文字—跳脫字元

\\ 反斜線符號 (\)
\' 單引號 (')
\" 雙引號 (")
\n 換⾏符號 (LF)

有些東西不能直接打出來要怎麼辦?

其他的跳脫字元

\\ 反斜線符號 (\)
\' 單引號 (')
\" 雙引號 (")
\a 響鈴符號 (BEL)
\b 空格符號 (BS)
\f 換⾴符號 (FF)
\n 換⾏符號 (LF)
\r 返回符號 (CR)
\t ⽔平縮排符號 (TAB)
\v 垂直跳格符號 (VT)
\ooo ooo 是三個⼋進位的數字
\xhh hh 是兩個⼗六進位的數字

試試看

print('菜單:')
print('1.漢堡')
print('2.吐司')
print('3.蛋餅')
print('4.鐵板麵')
print('5.奶茶/紅茶')
breakfast = input('老闆娘說,同學今天想吃什麼?:')

早八上課前去學餐買早餐,你會看到...

再試試看

breakfast = input('菜單:\n1.漢堡\n2.吐司\n3.蛋餅\n4.鐵板麵\n5.奶茶/紅茶\n老闆娘說,同學今天想吃什麼?:')

打了好多的「print」有沒有覺得有點麻煩?

有沒有覺得省了不少 print 呢?

挑戰

請用剛剛買早餐的情境

加上 if /elif / else

設計接下來的內容

etc. 老闆娘的回應(確認餐點+金額)

breakfast = input('菜單:\n1.漢堡\n2.吐司\n3.蛋餅\n4.鐵板麵\n5.奶茶/紅茶\n老闆娘說,同學今天想吃什麼?:')
if breakfast == '1':
  print('漢堡一份 35 元 謝謝')
elif breakfast == '2':
  print('吐司一份 30 元 謝謝')
elif breakfast == '3':
  print('蛋餅一份 25 元 謝謝')
elif breakfast == '4':
  print('鐵板麵一份 40 元 謝謝')
elif breakfast == '5':
  print('奶茶/紅茶一杯 20 元 謝謝')

範例

冒險的第二章

程式中的方程式

數學運算子

運算的道具

x = 30
y = 25
print(x + y) #加法
print(x - y) #減法
print(x * y) #乘法
print(x / y) #除法
print(x % y) #餘數除法
print(x ** y)#次方

數學運算子遇上變數的變化

運算的道具

x = 30
y = 25
x = x + y
print(x)
x = x - y
print(x)
x = x * y
print(x)
x = x / y
print(x)

將上一個挑戰,加上剛剛的數學運算子做一點變化

挑戰

你可以這麼做

先問要吃什麼東西

再問要喝什麼飲料

最後 輸出兩樣價錢的總和

範例

total = 0
breakfast = input('菜單:\n1.漢堡\n2.吐司\n3.蛋餅\n4.鐵板麵\n老闆娘說,同學今天想吃什麼?:')
if breakfast == '1':
  total = total + 35
  print('漢堡一份')
elif breakfast == '2':
  total = total + 30
  print('吐司一份')
elif breakfast == '3':
  total = total + 25
  print('蛋餅一份')
elif breakfast == '4':
  total = total + 40
  print('鐵板麵一份')
drink = input('1.奶茶\n2.紅茶\n3.柳橙汁\n要喝什麼飲料?:')
if drink == '1':
  total = total + 25
elif drink == '2':
  total = total + 20
elif drink == '3':
  total = total + 30
print('這樣一共 ' + str(total) + ' 元 謝謝')

開始文字冒險遊戲世界吧!

補充—程式時間凍結

利用 time.sleep( n秒 ) 可以讓程式暫停 n秒

import time #導入時間的功能
times = input('請輸入等待時間:')
time.sleep(times)
print('等待了 ' + times + ' 秒')

挑戰/作業

自己設計一個小小的冒險遊戲

或是

設計一個小測驗

可以 Google 搜尋 「測驗 跳題」

找現有的心理測驗製作成 互動式的測驗

The End

結束惹,來點個名吧

Tronclass 數字點名:

1921

Python 新手村 2020 Part 1

By Rex Wu

Python 新手村 2020 Part 1

  • 327