阿爾法python 第一章 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 指數吧。

任務與要求

  1. 創建表示身高的變量 height 並賦值 1.8
  2. 創建表示體重的變量 weight 並賦值 81
  3. 創建表示BMI值的變量 bmi,使用變量weight 和 height 寫出計算BMI的表達式,並將表達式賦給 bmi
  4. 將 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
o

W
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("輸入格式錯誤")
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章