Python基本語法元素
小豬佩奇
從比較前沿的數據挖掘、科學計算、網絡爬蟲、圖像處理、人工智能到傳統的 Web 開發、遊戲開發,Python 都可以勝任。
Python 具有大量的實用庫,可以完成很多工作,本小節中,使用 Turtle 這個能繪圖的虛擬海龜機器人,繪製小豬佩奇,讓你體驗 Python 的有趣。
請直接 運行 編輯器中的代碼,右側會畫布中會一隻小豬佩奇。
import turtle
t = turtle.Turtle()
t.pensize(4)
# t.hideturtle()
turtle.colormode(255) # 設置畫筆大小爲0-255
t.color((255, 155, 192), "pink")
t.setheading(-30)
t.pu()
t.goto(-100, 100)
t.begin_fill()
t.pd()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3)
t.fd(a)
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
t.pu()
t.seth(90)
t.fd(25)
t.setheading(0)
t.fd(10)
t.begin_fill()
t.pd()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
# 頭
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.pd()
t.begin_fill()
t.seth(0)
t.circle(-300, 30)
t.circle(-100, 60)
t.circle(-80, 100)
t.circle(-150, 20)
t.circle(-60, 95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
if 0 <= i < 30:
a = a + 0.08
t.lt(3)
t.fd(a)
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
# 耳
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()
# 眼睛
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
# 腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
# 嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)
# 身體
t.color("red", (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100, 10)
t.circle(300, 30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300, 30)
t.circle(100, 3)
t.color((255, 155, 192), (255, 100, 100))
t.seth(-135)
t.circle(-80, 63)
t.circle(-150, 24)
t.end_fill()
# 手
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300, 15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20, 90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300, 15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20, 90)
# 腳
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
# 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)
第一個程序
Python程序由指令組成,運行程序時,計算機依據預設好的指令執行程序。
print是最簡單,但很常用的指令,它用於將一些信息輸出至屏幕上。
下面演示Python中的print指令:
print(“Hello World!”)
print("Hello World!")
print("Hello Python!")
輸出個性簽名
微信提供了設置屬於自己的個性簽名功能,每個人都可以設置屬於自己的個性簽名,請使用print()函數,將下面這段個性簽名打印輸出。
再小的努力,乘以 365 都很明顯!
print("再小的努力,乘以365都很明顯!")
打印歡迎購物
請用程序實現
將下列內容,按照格式,利用print()函數在控制檯打印輸出。
========== 歡迎購物==========
請選擇:
1.衣服
2.生鮮
3.日用品
===========================
請輸入商品編碼:
# 請將指定內容打印輸出
print("==========歡迎購物==========")
print("請選擇:")
print("1.衣服")
print("2.生鮮")
print("3.日用品")
print("===========================")
print("請輸入商品編碼:")
求圓面積周長
請用程序實現
輸入圓的半徑r,計算圓的面積(area)和周長(circumference)。
注意: 所有數保留兩位小數。π取值3.14。方法爲:print("%.2f" % a)。
示例1:
輸入:
3.0
輸出:
面積:28.26
周長:18.84
示例2
輸入:
6
輸出:
面積:113.04
周長:37.68
# 請使用 input() 輸入圓的半徑 r
r = float(input("請輸入半徑:"))
# 請計算圓的面積和周長,並將計算結果輸出
area=3.14*r*r
circum=2*3.14*r
print("面積: %.2f" % area)
print("周長: %.2f" %circum)
同切圓繪製
請用程序實現
根據視頻課程內容,使用turtle庫,繪製半徑分別爲 10,40,80,160 的同切圓。
import turtle as t
t.pensize(3)
t.circle(10)
t.circle(40)
t.circle(80)
t.circle(160)
五角星繪製
請用程序實現
根據視頻課程內容,使用turtle庫,繪製一個五角星。
from turtle import * #導入turtle庫包
color('black','red') #配置填充顏色
begin_fill()
for i in range(5):
fd(200)
rt(144)
end_fill()
溫度轉換
溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fahrenheit)。
編寫一個程序,將用戶輸入的華氏度轉換爲攝氏度,或將輸入的攝氏度轉換爲華氏度。
轉換算法如下:(C表示攝氏度、F表示華氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 輸入輸出的攝氏度可採用大小寫字母C結尾,溫度可以是整數或小數,如:12.34C指攝氏度12.34度;
(2) 輸入輸出的華氏度可採用大小寫字母F結尾,溫度可以是整數或小數,如:87.65F指華氏度87.65度;
(3) 輸出保留小數點後兩位,輸入格式錯誤時,輸出提示:輸入格式錯誤;
(4) 使用input()獲得輸入時,不要增加提示字符串。
示例 1
輸入
12.34C
輸出
54.21F
示例 2
輸入
87.65F
輸出
30.92C
TempStr = input("請輸入帶有符號的溫度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("轉換後的溫度是{:.2f}C".format(C))
elif TempStr[-1] in ["C", "c"]:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("轉換後的溫度是{:.2f}F".format(F))
else:
print("輸入格式錯誤")
註釋所有行
請用程序實現
使用註釋,使得下面所有的代碼不在控制檯顯示。
print(‘我是第一行’)
print(‘我是第二行’)
print(‘我是第三行’)
print(‘我是第四行’)
print(‘我是第五行’)
#print('我是第一行')
#print('我是第二行')
#print('我是第三行')
#print('我是第四行')
#print('我是第五行')
使用變量
變量用來「保存」一些中間結果,這可以讓複雜的計算變得簡單,清晰。變量「保存」的數據實際存儲在內存中。
變量有一個「名字」,要把數據「保存」到變量中,使用等於 = 符號,這過程稱爲「賦值」,下面一行代碼將 12 保存到變量 cola_price 中:
cola_price = 12
接下來,你就可以使用 cola_price 變量進行計算。
注意:等於符號=,表示賦值,將右邊的值賦給左邊的變量,它並不像數學的等式一樣,表示左邊等於右邊。
用100元去買可樂,最多能買多少瓶,及還剩多少錢。我們用程序來算一算,假設每瓶可樂 12 元。
cola_price = 12
# 計算 100 元能買多少瓶,並保存至變量 num 中
num = 100//cola_price
# 計算應找零多少,並保存到 remaining 中
remaining = cola_price - 100//cola_price
# 輸出瓶數
print('能買',num, '瓶')
# 輸出還剩多少錢
print('找零',remaining, '元')
打印數據類型
右側編輯器中的代碼功能是輸出當前 num3 的數據類型,輸出結果爲:
<class ‘float’>
請使用 int() 函數將 num3 轉換爲 int 類型,使其輸出結果爲:
<class ‘int’>
num1 = 30
num2 = 7
num3 = num1/num2
# 在下面將 num3 轉換成 int 類型,並使得最終輸出是 <class 'int'>
num3 = int (num3)
print(type(num3))
迴響
請用程序實現,從控制檯讀入一行內容,再把這行內容輸出到控制檯上,即輸入什麼就輸出什麼,稱爲迴響
# 請實現迴響功能,輸入什麼即輸出什麼
a = input(" ")
print(a)
存儲MP3信息
請用程序實現
使用變量(括號內的單詞)存儲以下MP3信息(冒號後的信息):
品牌(brand):愛國者 F928
重量(weight):12.4
電池類型(types):內置鋰電池
價格(price):499
請在右側編輯器中編寫代碼,完成練習。
# 請將MP3信息保存到變量中
brand = "愛國者 F928"
weight = 12.4
types = "內置鋰電池"
price = 499
print("品牌(brand):",brand)
print("重量(weight):",weight)
print("電池類型(types):",types)
print("價格(price):",price)
交換變量值
現在有兩個變量num1=10和num2=20,如何能做到交換兩個變量的值?
請用程序實現
將兩個變量的值進行交換。
請在右側編輯器中編寫代碼,完成練習。
num1 = int(input())
num2 = int(input())
# 請不要修改源代碼最上面2行
# 請在下面交換 num1, num2 兩個變量的值
a = num1
num1 = num2
num2 = a
print("",num1,num2)
計算BMI
標準體重是反映和衡量一個人健康狀況的重要標誌之一。過胖和過瘦都不利於健康,也不會給人以健美感。不同體型的大量統計材料表明,反映正常體重較理想和簡單的指標,可用身高體重的關係來表示。
BMI指數,是用體重(千克)除以身高(米)的平方得出的數字,是國際上常用的衡量人體胖瘦程度以及是否健康的一個標準。下圖是有關BMI的分級表。
來計算一下 BMI 指數吧。
任務與要求
- 創建表示身高的變量 height 並賦值 1.8
- 創建表示體重的變量 weight 並賦值 81
- 創建表示BMI值的變量 bmi,使用變量weight 和 height 寫出計算BMI的表達式,並將表達式賦給 bmi
- 將 bmi 的值打印輸出
# 1.創建表示身高的變量 height 並賦值 1.8
height = 1.8
# 2.創建表示體重的變量 weight 並賦值 81
weight = 81
# 3.創建表示BMI值的變量 bmi 並計算
bmi = weight/(height*height)
# 4.將 bmi 打印輸出
print(bmi)
還有一種是手動輸入身高和體重,可進行多次計算:
height = float(input()) #輸入身高
weight = float(input()) #輸入體重
bmi = weight/(height*height) #計算
print("%.2f"%bmi) #保留兩位小數
計算平均分
已知王浩同學的Java成績爲 100 分,Python成績爲 88 分,SQL成績爲 99 分。
請用程序實現
1.計算 Java 課和 SQL 課的分數之差(Java成績減去SQL成績),輸出格式:“Java 和 Sql 的成績差爲:***”。
2. 計算這3 門課的平均分,輸出格式:“三門課程的平均分爲:***”。
請在右側編輯器中編寫代碼,完成練習。
java = 100
python = 88
sql = 99
# 打印出 Java 和 Sql 的成績差。
print("Java 和 Sql 的成績差爲:",java-sql)
# 打印出三門課程的平均分。
print("三門課程的平均分爲:",(java+python+sql)/3)
計算器
請用程序實現
輸入兩個數 num1, num2,分別計算他們的和(summation)、差(difference)、積(product)、商(quotient),並將計算結果輸出。
提示: 計算和時使用num1 + num2,計算差時使用num1 - num2,計算積時使用 num1 * num2,計算商時使用num1 / num2。
注意: 輸出時所有數據均保留兩位小數。
示例 1
輸入(使用換行分隔多數據輸入)
6.2
3
輸出
和爲:9.20
差爲:3.20
積爲:18.60
商爲:2.07
示例 2
輸入(使用換行分隔多數據輸入)
5
25
輸出
和爲:30.00
差爲:-20.00
積爲:125
商爲:0.20
# 請使用 input() 輸入兩個數 num1, num2
num1 = float(input())
num2 = float(input())
# 請分別計算 num1,num2 的和(summation)、差(difference)、積(product)、商(quotient),並將計算結果輸出
summation = num1+num2
difference = num1-num2
product = num1*num2
quotient = num1/num2
print("和爲:%.2f"%summation)
print("差爲:%.2f"%difference)
print("積爲:%.2f"%product)
print("商爲:%.2f"%quotient)
輸入身高體重並計算BMI
當前計算BMI的程序中 height, weight 都是固定值,請將程序更改爲從鍵盤獲取輸入,再計算 BMI。
先輸入身高(單位:米),然後輸入體重(單位:公斤),然後再計算並輸出 BMI 值。
在 Python 中,可以通過 input() 指令獲取鍵盤輸入的內容,直至遇到回車,下面的代碼獲取輸入,並保存到變量 name 中:
name = input()
print(name)
提示用戶輸入時,可以添加一段提示文字,像這樣:
age = input(‘請輸入年齡:’)
print(name, ‘的年齡是:’, age)
# 請使用 input 獲取鍵盤輸入
height = float(input())
# 請使用 input 獲取鍵盤輸入
weight = float(input())
bmi = weight / (height ** 2)
print(bmi)
Hello World的條件輸出
請用程序實現
獲得用戶輸入的一個整數 num ,參考該整數值,打印輸出"Hello World"。
要求如下:
(1) 如果輸入值是 0,直接輸出"Hello World"
(2) 如果輸入值大於 0,以兩個字符一行方式輸出"Hello World"(空格也是字符)
(3) 如果輸入值小於 0,以垂直方式輸出"Hello World"
示例 1
輸入
0
輸出
Hello World
示例 2
輸入
5
輸出
He
ll
o
Wo
rl
d
示例 3
輸入
-1
輸出
H
e
l
l
oW
o
r
l
d
n = eval(input())
if n == 0:
print("Hello World")
elif n > 0:
print("He\nll\no \nWo\nrl\nd")
else:
for c in "Hello World":
print(c)
# 請使用 input() 輸入一個整數 num
num=int(input(""))
str1="Hello World"
# 請對num進行判斷
if num==0:
print(str1)
if num>0:
print(str1[:2])
print(str1[2:4])
print(str1[4:6])
print(str1[6:8])
print(str1[8:10])
print(str1[10:])
if num<0:
for each in str1:
print(each)
貨幣轉換
人民幣和美元是世界上通用的兩種貨幣之一,人民幣和美元間匯率固定爲:1美元 = 7.00人民幣。
請用程序實現
將用戶輸入的美元轉換爲人民幣,或將輸入的人民幣轉換爲美元。
要求如下:
(1) 輸入輸出的人民幣採用大寫的 RMB 開頭,金額可以是整數或小數,如:RMB123 指人民幣123元;
(2) 輸入輸出的美元採用大寫的 USD 開頭,金額可以是整數或小數,如:USD20 指美元 20 元;
(3) 輸出保留小數點後兩位,方法爲:print("%.2f" % a)。輸入格式錯誤時,輸出提示:輸入格式錯誤;
(4) 使用 input() 獲得輸入時,不要增加提示字符串。
示例 1
輸入
RMB123
輸出
USD17.57
示例 2
輸入
USD20
輸出
RMB140.00
a = input("")
if a[0] in ['R','r']:
USD = eval(a[3:]) / 7
print("USD%.2f"%USD)
elif a[0] in ['U','u']:
RMB = 7 * eval(a[3:])
print("RMB%.2f"%RMB)
else:
print("輸入格式錯誤")