中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

3.2.5函數與模塊 課件(共35張PPT) 2023—2024學年高中信息技術浙教版(2019)必修1

資源下載
  1. 二一教育資源

3.2.5函數與模塊 課件(共35張PPT) 2023—2024學年高中信息技術浙教版(2019)必修1

資源簡介

(共35張PPT)
3.2.5函數與模塊
2
自定義函數
可以復用的代碼
函數可分為系統函數和用戶自定義函數。
前面使用過的print( )和input( )函數都是系統函數
自定義函數:一般包括函數名、參數、函數體和返回值等四部分。
自定義函數的基本格式是:
def 函數名(參數):
函數體
[return 返回值]
2
自定義函數
可以復用的代碼
def 函數名(參數):
函數體
[return 返回值]
函數名:命名規則和變量名一樣
參數:即形式參數,簡稱形參,是調用該函數需要提供的數據;參數是用來向函數傳遞值的,當有多個參數時,各個參數之間用逗號隔開
函數體:是函數需要執行的具體代碼(計算過程)
函數值:函數執行完后,由return語句將表達式值返回給調用者,結束函數。
def Area(a,b,c):
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
return s
s1=Area(3,4,5)
s2=Area(5,12,13)
print(s1+s2)
完成函數的構造后,在程序中就可以根據需要調用該函數。
def 函數名(參數):
函數體
[return 返回值]
2
自定義函數
可以復用的代碼
(1)無參數
def x1():
s=1
for i in range(1,5):
s=s*i
return s
print(x1())
(2)無返回值
def x1():
s=1
for i in range(1,5):
s=s*i
print(x1())
討論:自定義函數x1的功能以及輸出的值。
2
自定義函數
可以復用的代碼
(3)有1個參數
(4)有多個參數時,參數間用逗號分隔開。
def x1(n):
s=1
for i in range(1,n+1):
s=s*i
return s
print(x1(4))
print(x1(3)+x1(5))
def x2(h1,h2):
s=h1*h2
return s
print(x2(2,3))
print(x2(3,4)+x2(5,6))
討論:自定義函數x1、x2的功能以及輸出的值。
1、形參:在定義函數階段定義的參數, 叫形式參數, 簡稱形參(相當于變量名)
2、實參:再調用函數的階段傳入的值, 叫實際參數, 簡稱實參(相當于變量值)
形參和實參
默認形參: 在定義階段就已經被賦值的,稱之為默認參數
特點:意味著在調用階段可以不賦值
默認(行)形參
def func(x, y=2):
print (x, y)
func(3)
func(x=3, y=4)
如果沒有傳遞實參,則會使用默認參數,當然也可以通過傳遞實參來替換它的默認值。
3
典例分析:輸入年份輸出生肖
【編程】輸入一個農歷年份(>=1900),輸出該年對應的生肖,直到輸入0結束,運行結果如下所示:
請輸入農歷年份,輸入0結束:2004
生肖是:猴
請輸入農歷年份,輸入0結束:
3
典例分析:輸入年份輸出生肖
def shengxiao(y):
L1=["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]
i=(y-1900)%12
return L1[i]
year=int(input("請輸入出生年份,輸入0結束:"))
while year!=0:
print("你的生肖是:",shengxiao(year))
year = int(input("請輸入出生年份,輸入0結束:"))
3.2.5函數與模塊
模塊(庫)的導入及應用
2
導入模塊(庫)
可以復用的代碼
庫(模塊):Python 的一大特色是其豐富的模塊,基本上只要你能想到的常見開發需求,都能找到別人已經實現的庫直接使用,或者相關的工具/框架來輔助實現。
import 庫名
import 庫名 as 別名
1.導入庫(模塊)
2.指定別名:使用簡短的別名,讓你使用更方便。
import math
import math as m
語法:
import 模塊名
(文具在哪個文具盒,相當于導入的是一個文具盒,是相對路徑)
import語句
from-import語句
語法:
from 模塊名 import 函數名
(文具盒中哪個文具,是絕對路徑)
from 模塊名 import *
*是通配符,表示導入文具盒中的全部文具,和import 模塊名效果相同。
2
導入模塊(庫)
4
math 庫(模塊)
math庫中的常用常數函數與函數
名稱 含義
math.e 自然常數e
math.pi 圓周率π
math.ceil(x) 對x向上取整,如x=1.2,返回2
math. floor(x) 對x向下取整,如x=1.2,返回1
math.pow(x,y) 指數運算,返回x的y次方(返回值為浮點型)
math.log(x) 對數運算,默認基底為e
math.sin(x)/math.cos(x) 正弦函數/余弦函數
math.tan(x) 正切函數
math.degrees(x) 弧度轉換成角度
math.radians(x) 角度轉換成弧度
4
math 庫(模塊)
試試這個:
import math
x=int(input("number:"))
x=math.sqrt(x)
print("square rooting x:",x)
試試這個:
from math import sqrt
x=int(input("number:"))
x=sqrt(x)
print("square rooting x:",x)
輸入半徑求圓面積
import math
r=float(input("半徑: "))
p=math.pi
s=
print("面積是: ",str(s))
4
math 庫(模塊)
from math import pi r=float(input("半徑: "))
s=
print("面積是: ",str(s))
p*math.pow(r,2)
pi*(r**2)
4
典例分析:【快遞收費】
快遞重量(千克) 快遞運費
1千克以下(包含1千克) 9元
1千克以上3千克以下(包含3千克) 11元
3千克以上5千克以下(包含5千克) 14元
5千克以上 5千克以內(含5千克)收14元,超過5千克部分,每千克加收2元,不足1千克按1千克計算
某快遞公司為計算快遞運費編寫了Python程序,當用戶輸入快遞重量“單位是千克)后,根據快遞公司的收費標準,計算出快遞運費。
快遞公司的具體收費標準如下表所示
4
典例分析:【快遞收費】
import math
weight=float(input("請輸入快遞質量(kg:)"))
if weight<=1:
money=9
elif weight<=3:
money=11
elif weight<=5:
money=14
else:
money=14+2*
print("你需支付的快遞運費是:",money,"元")
math.ceil(weight-5)
5
random 庫(模塊)
random庫(模塊):用來生成隨機數。
random庫中的常用函數
名稱 含義
random.random() 隨機生成一個【0,1)范圍內的實數
random.uniform(a,b) 隨機生成一個【a,b】范圍內的實數
random.randint(a,b) 隨機生成一個【a,b】范圍內的整數
random.choice(seq) 從序列的元素中隨機挑選一個元素
如:random.choice(range(10)),即從0到9中隨機挑選一個整數
random.sample(seq,k) 從序列中隨機挑選k個元素
random.shuffle(seq) 將序列的所有元素隨機排序
import random
cla=['(2)班','(3)班','(4)班','(5)班','(6)班']
random.shuffle(cla)
for c in cla:
print(c,end=' ')
5
random 庫(模塊)
random庫(模塊):用來隨機安排出場順序
import random
xs=["小紅","小藍","小綠","小花","老張","老王","老李","老趙"]
n=int(input("想抽幾個人 : "))
print("1 人: ",random.choice(xs))
print(n,"人: ",random.sample(xs,n))
random.shuffle(xs)
for i in xs:
print(i, " ,", end='')
5
random 庫(模塊)
random庫(模塊):用來抽獎
5
典例分析【隨機點名】
編程:隨機點名。同時點名人數由用戶輸入,當用戶輸入0時結束程序。
運行如右圖所示:
5
典例分析【隨機點名】
import random as rd
md=['王佳慈','蘇鑒槐','楊金蘭','李炳臻','高倩南','段金麗','張葉芳','馮趙祝滿','袁楊洋','字葉楓','趙志鋒','吳麗娟','余艷','李艷秋','楊佳馨','董璇','楊樹宏','馮佳藝','楊漾槐','倪登城','周連琪','許佳雪','馬趙琴','段姝慧','段鈺','楊禮兵','莽麗潔','和琴艷','陳璞','羅福星','陳繞青','李曉育','畢麗汝','車江欒','李榮','徐苗','史小禾','劉賢','常曉會','蘇艷聰','趙波','韓左輝','白承絢','時雪緣']
zrs= len(md)
rs=int(input("輸入隨機點名人數或輸入0退出:"))
while rs!=0:
b=rd.sample(range(zrs),rs)
i=0
while ix=b[i]
print(md[x],end=" ")
i+=1
print("")
rs = int(input("輸入隨機點名人數或輸入0退出:"))
Image模塊是PIL庫中的重要模塊
# 獲得圖像的文件格式 geshi = img.format
# 獲得圖像的高和寬 h, w = img.size
# 獲得圖像的顏色模式 mo = img.mode
# 將圖像旋轉45度后顯示 img.rotate(45).show()
from PIL import Image
im=Image.open('小飛象.jpg') #打開小飛象.jpg圖像文件
print(im.format) #獲取圖像文件格式
print(im.size) #獲取圖像尺寸大小(以像素為單位表示圖像的寬度和高度)
print(im.mode) #獲取圖像的顏色模式
im.rotate(45).show() #將圖像旋轉45°后顯示
6
Image模塊
from PIL import Image
im=Image.open("pil.jpg")
print(im.format)
print(im.size)
print(im.mode)
im.rotate(45).show()
6
Image模塊
Image模塊是PIL庫(Python Imaging Library)中重要的模塊
1.下面程序段定義的函數fa用于計算n!,請在劃線處填入合適的代碼?
def fa(n):
i=1
s=1
while i<=n:
s*=i
i=i+1
a=int(input("請輸入整數a的值:"))
print(fa(a))
若輸入的值是是5,則輸出的結果為
return s
120
隨堂練習
2.以下程序段定義的函數reverse能夠得到整數n翻轉后的數字(例:1234翻轉后是4321)。
def reverse(n):
r = 0
while n > 0:
c = n % 10
r = ①
n = ②
return r
a=int(input("請輸入整數a的值:"))
print(reverse(a))
①的程序是
②的程序是
若輸入的值是是20221106,則輸出的結果為
r*10+c
n//10
60112202
1. 局部變量
在一個函數內或者語句塊內定義的變量稱為局部變量。局部變量的作用域僅限于定義它的函數體或語句塊中。
def fun1(a):
x=a+10
……
def fun2(a,b):
x,y=a,b
……
變量的作用域
在所有函數之外定義的變量稱為全局變量,它可以在多個函數中被引用。
x = 30
def func():
x = 20
print('x的值是', x)
func()
print('x的值是', x)
2. 全局變量
變量的作用域
x的值是 20
x的值是 30
def myfun(a):
print('a=',a)
return a+1
a=10
print('a=',a)
myfun(5)
print('a=',a)
a=10
a=5
a=10
在函數內定義的變量稱為局部變量。
只在函數體內有效
在函數外定義的變量稱為全局變量。
跳過困難題
全局變量和局部變量的區別 (簡單)
def Area(a,b,c):
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
return s
地塊面積S=Area(3,4,5)+Area(5,12,13)
3
12
13
5
4
要用到兩次海倫公式,可用函數簡化
能否再定義一個函數quad(),
輸入3,4,5,12,13就能計算地塊的面積呢?
def quad(a,b,c,d,e):
s=Area(a,b,c)+Area(c,d,e)
return s
調用方法:quad(3,4,5,12,13)
在函數體中,可以嵌套使用其他函數
全局變量和局部變量的區別 (困難)
思考:現在請看整個程序
s=0
def Area(a,b,c):
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
return s
print("s=",s)
def quad(a,b,c,d,e):
s=Area(a,b,c)+Area(c,d,e)
print("s=",s)
quad(3,4,5,12,13)
print(quad(3,4,5,12,13))
print("s=",s)
已知兩個三角形的面積分別為30和6,請小組討論這段代碼的輸出結果是什么?
答案:s= 36.0
s= 36.0
None
s= 0
定義在函數內部的變量是局部變量,只能在其被聲明的函數內部訪問
定義在函數外的全局變量可以在整個程序范圍內訪問。
直接調用quad函數,并沒有把函數值賦值給外面的s,所以s仍然為0




全局變量和局部變量的區別 (困難)
3.以下程序能實現對輸入的數進行取整:
n = input("請輸入一個數:")
n = math.floor(float(n))
print(n)
該程序段劃線處應填入的代碼為
若輸入的值是是3.14,則輸出的結果為
import math
3
隨堂練習
4.下面程序段可以生成10個[1,100]范圍內的隨機整數(允許重復)存放在列表numbers中:
from random import randint
numbers = []
for i in range(0, 10):
n =
numbers.append(n)
print(numbers)
該程序段劃線處應填入的代碼為
該程序輸出的結果可能為
randint(1, 100)
隨堂練習
Thanks

展開更多......

收起↑

資源預覽

  • <menuitem id="wfhyu"><abbr id="wfhyu"></abbr></menuitem>

    <bdo id="wfhyu"></bdo>
  • <bdo id="wfhyu"></bdo>
    主站蜘蛛池模板: 新巴尔虎左旗| 乐亭县| 沅江市| 洛南县| 东方市| 平度市| 兴国县| 万荣县| 息烽县| 金乡县| 苍南县| 千阳县| 青阳县| 泸定县| 和政县| 林西县| 交城县| 安泽县| 辽宁省| 蒙城县| 济源市| 长泰县| 太原市| 聂荣县| 咸宁市| 姜堰市| 称多县| 古田县| 廊坊市| 东兰县| 澳门| 东乡县| 华安县| 宣威市| 峡江县| 长岛县| 大余县| 枞阳县| 馆陶县| 汾西县| 盐池县|