iT邦幫忙

2023 iThome 鐵人賽

DAY 23
1
自我挑戰組

待業不頹廢系列 第 23

Day 23 . 欸 今天要幹嘛 - 一些基礎的 python

  • 分享至 

  • xImage
  •  

(編輯中)

全域變數、區域變數

首先變數 會有範圍 (Scope)

家裡有的 就是區域 家裡就先用 沒有才可以去找外面
外面沒有就沒有 不能往別人家偷拿 找不到就是 NameError : not defined
※ 除非 ! 使用return ,把區域拿去全域使用,後念在來說說如何使用 函數回傳值
簡單例子:

練習I

x = 100

def test():
    print(x)
test()
>>> 
100

練習II

x = 100

def test():
    x = 200
    print(x)
    
test()
print(x)

>>> 
200
100

最後一題

函數回傳值 return

下圖可以看到
一開始是方法的配置
內容沒有 print 而是 return XXX , XXX

而外面在呼叫函數 cal(120,7) 引數符合我們參數的 cal(x,y)
允許他被呼叫,世說前面還出現 a , b = cal(120,7)

兩個數字被帶進去方法跑到 return 會是 div = 17 mod = 1

誰呼叫 函數就回去找誰 a , b = cal(120,7) 呼叫的
那 a , b 就會是 a , b = 17 , 1

附上講義文字定義

課堂練習

def compute(x,y):
    result = x * y
    return result
x,y = eval(input('請輸入任意兩組數字,用逗號隔開 :'))

result = compute(x,y)
print('相乘為',result)

看看別人寫的

def compute():
    x=eval(input())
    y=eval(input())
    z=x*y
    return z
v=compute()
print(v)

練習題總結 我要一航打完兩組數字但是題目顯示為兩次的輸入
修改如下

x = eval(input('請輸入數字 :'))
y = eval(input('請輸入數字 :'))

def compute(x,y):
    result = x * y
    return result

result = compute(x,y)
print('相乘為',result)

請輸入數字 :11
請輸入數字 :56
相乘為 616

流程控制

  • 條件(選擇)結構
  • 迴圈結構
    https://ithelp.ithome.com.tw/upload/images/20231008/20150181FDfygHXU1s.png

選擇結構

  • if 單向 if
  • if...else 雙向 if
  • if...elif...else 多向 if

課堂練習

請使用選擇敘述撰寫程式,讓使用者輸入一個整數,然後判斷它是否為 2 或 7 的倍數。
*條件最嚴苛的要寫最前面

num1 = eval(input("請輸入一個整數:"))

if num1 % 2 == 0 and num1 % 7 == 0:
    print( num1 ,"是 2 及 7 的倍數 ")
elif num1 % 7 == 0:
    print( num1 ,"是 7 的倍數")
elif num1 % 2 == 0:
    print( num1 ,"是 2 的倍數")
    
else:
    print(num1,"不是 2 也不是 7 的倍數  ")

上一篇
Day 22 . 欸 今天要幹嘛 - 一些基礎的 python
下一篇
Day 24 . 欸 今天要幹嘛 - 一些基礎的 python 迴圈
系列文
待業不頹廢30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言