Python 簡易語法介紹
Lecturer:王譽錚
if...elif...else
for迴圈
while迴圈
random
OUTLINE
if...elif...else
a, b = eval(input())
if a > b :
print("a獲勝")
elif a < b :
print("b獲勝")
else:
print("平手")
輸入兩個數字來比大小
Lab1
試寫出一個可以算出BMI值的程式,並且輸出使用者的健康狀況:
BMI = 體重(kg)除以身高(m)的平方
BMI小於18.5的為過輕
BMI大於18.5且小於24.9的為正常
BMI大於24.9且小於29.9的為過重
BMI大於29.9的為肥胖
Input:身高,體重 Outpt:BMI與健康狀況
輸入範例:1.5,45
輸出範例:BMI為20,正常
height, weight = eval(input())
bmi = weight / (height * height)
if bmi <= 18.5:
print("BMI為",bmi,"過輕")
elif bmi > 18.5 and bmi <= 24.9:
print("BMI為",bmi,"正常")
elif bmi > 24.9 and bmi <= 29.9:
print("BMI為",bmi,"過重")
else:
print("BMI為",bmi,"肥胖")
解答
for迴圈
sum = 0
#i會從1開始,每輪加2,只到數超過100
for i in range(1,101,2):
sum = sum + i
print(sum)
將1到100的奇數加起來
Lab2
試寫一個程式,輸入任意正整數N,並輸入1 * 1、2 * 2、...、N * N之結果。
輸出範例:1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
5 * 5 = 25
輸入範例:5
Input:任意整數
Output:對應的乘法表
n = eval(input())
for i in range(1,n+1):
print(i,"*",i,"=",i*i)
解答
while迴圈
任意數字相加,每加完一次即輸出結果,當使用者輸入-1時結束
sum = 0
while True:#會一直執行內含的程式碼
num = eval(input())
if num != -1:
sum = sum + num
print(sum)
else:
break
Lab3
請寫出一程式輸入一整數n,並輸出1~n(包含n)的所有質數:
質數定義:只被自己和一整除。
Input:任意整數
Output:範圍內的質數
輸出範例:2 3 5 7
輸入範例:10
n = eval(input())
i = 2
while i < n:
a = 0
for j in range(2,i):
if i % j ==0:
a = 1
break
if a == 0:
print(i)
i = i +1
解答
for與while的異同
for | while | |
---|---|---|
循環次數 | 依照設定條件 | 依照設定條件 |
執行條件 | 像是計數器 | 像是開關 |
結束條件 | 計數器計到最後會自行結束 | 沒寫的情況下會無限循環 |
random隨機亂數
猜數字
import random#匯入random模組
num = random.randint(1,99)#隨機出答案
player = eval(input())
while player != num:#當猜錯的時候
if player > num:
print("太大")
else:
print("太小")
player = eval(input())#重新猜
print("回答正確!!!")
Lab4
試寫出一個跟電腦猜拳的程式,0為石頭,1為布,2為剪刀
Input:0或1或2
Output:玩家獲勝/電腦獲勝/平手
import random
player = eval(input())
com = random.randint(0,2)
a = 0 #player獲勝次數
b = 0 #com獲勝次數
if player == 2 and com == 0:#一種輸
a -= 1
b += 1
elif player > com: #兩種win
a += 1
b -= 1
elif player == 0 and com == 2:#一種win
a += 1
b -= 1
elif player == com: #三種平手
a = 0
b = 2
else:#兩種輸
a -= 1
b += 1
# print(player,"vs",com) 確保pk結果正確
if a == 1:
print("player win")
elif b == 1:
print("computer win")
else:
print("平手")
解答
練習題
Lab5
試寫出一程式,可輸入月份,然後判斷其所屬的季節
(3 ~ 5月為Spring,6 ~ 8月為Summer,9 ~ 11月為Autumn,12 ~ 2月為Winter)。
Input:月份
Output:季節
輸出範例:Spring
輸入範例:3
m = eval(input())
if (m <=2 and m > 0) or m== 12:
print("Winter")
elif m>2 and m<=5:
print("Spring")
elif m>5 and m<=8:
print("Summer")
elif m>8 and m<=11:
print("Autumn")
解答
Lab6
試寫一程式,判斷這三個整數是否能夠成三角形的三個邊長(p.s.三角形兩邊長之和必須大於第三邊),符合就輸出fit,不符合就輸出unfit。
Input:三邊長
Output:符合或不符合
輸出範例:unfit
fit
輸入範例: 1,2,3
4,5,6
a,b,c = eval(input())
if a + b >c and b + c > a and a + c > b:
print("fit")
else:
print("unfit")
解答
Lab7
試寫一程式,算階乘,輸入一個整數 n,0 < n < 20 ,輸出結果
Input:1~19內的整數
Output:結果
輸出範例:6
720
輸入範例: 3
6
n = eval(input())#要算幾階
ans = 1
for i in range(1,n+1):
ans = ans * i#從1乘到n
print(ans)
解答
Lab8

num = eval(input()) #輸入數字
ans = 0
for i in range(2,num): #找出有哪些是質數
a = 1 #用1代表為質數,0代表非質數
for j in range(2,i): #沒有被整除的就是質數
if i % j == 0:
a = 0
if a == 1: #如果a是質數的話,就去比大小,留下較大的值
if ans < i:
ans = i
print(ans)
解答
-END-
Python 介紹
By arashi
Python 介紹
- 145