iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Python

python零之旅系列 第 8

DAY8. Python中的隨機數與各式函數

  • 分享至 

  • xImage
  •  

random隨機數

寫程式前,需導入random模組,且可用help(random)查看所有可用方法。以下將介紹其中四種最常用的方法。
1.randint()
可指定a到b範圍,隨機產生在這範圍之間的整數。
2.random()
可指定a到b範圍,隨機產生在這範圍之間的浮點數。
3.randint/random.choice()
可從指定列表中隨機選擇一個元素。
4.randint/random.shuffle()
可將列表的元素順序打亂。

範例:

import random

print(random.randint(1, 10))
printprint(random.random()) #若無設定範圍則隨機產生

game = {"剪刀", "石頭", "布"}
rand_game = random.choice(game)
print(rand_game)

num = ["1", "2", "3", "4"]
random.shuffle(num)
print(num)

了解常見的random方法後,我們來透過實作進行練習。

練習1:終極密碼

import random

min = 1
max = 100
num = random.randint(min, max)
guesses = o

while True:
    guess = int(input(f"請猜{min}到{max}之間的數字:"))
    guesses += 1
    
    if guess < number:
        print("猜的數字太小了")
    eilf guess > number:
        print("猜的數字太大了")
    else:
        print(f"恭喜猜對,共猜了{guesses}次")
        break

練習2:剪刀石頭布

import random

player = None
computer = None
play = True
options = ("剪刀", "石頭", "布")

while running:
    player = input("請輸入剪刀、石頭或布:")
    while player not in options:
        input("您未輸入,請重新輸入:")
    computer = random.choice(options)
    print(f"玩家: {player},電腦: {computer}")
    
    if player == computer:
        print("平手")
    elif player == "剪刀" and computer == "布":
        print("玩家勝利")
    elif player == "石頭" and computer == "剪刀":
        print("玩家勝利")
    elif player == "布" and computer == "石頭":
        print("玩家勝利")
    else:
        print("電腦勝利")
        
    again = input("再玩一次?(y/n):").lower()
    if not again == "y":
        play == False

print("感謝遊玩")

函數function

函數是一段可以重複使用的程式碼,在函數後加上括號即可呼叫函數。我們也可以透過呼叫函數來傳遞數據,這些數據便稱為參數。

範例1:

def hello():
    print("Hello!")
hello()

範例2:

def add(x, y)
    return x + y
result = add(3, 5) #結果為8
print(result)

def sub(a, b)
    return a - b
resultt = add(7, 2) #結果為5
print(resultt)

def mul(c, d)
    return c * d
resulttt = add(1, 7) #結果為7
print(resulttt)

def devide(e, f)
    return e / f
resultttt = add(8, 4) #結果為2
print(resultttt)

範例3:

def name(fisrst, last):
    first = first.capitalize()
    last = last.capitalize()
    return first + " " + last
    
print(name(anna, lee)) #結果為Anna Lee

預設引數

預設引數是指在定義函數時,為參數設置的預設值。呼叫函數若忽略參數,便會直接使用該參數的預設值(可覆蓋),讓函式更有靈活性,減少參數數量,使程式碼簡易化。
預設引數只能寫在多項參數的最後一項參數。

範例:

def greet(name, greeting = "Hi"): #設立預設值為Hi
    print(f"{greeting}, {name}")

greet("Anna") #若沒有呼叫函數,便會印出預設值: Hi, Anna

關鍵字參數

關鍵字參數可提高可讀性,讓參數的含義更加明確,且可不受順序的規範。

範例:

def hi(greeting, title, name)
    print(f"{greeting}, {title}, {name}")
hi(greeting = "hello", title = "Mr.", name = "Anna")

上一篇
DAY7. Python中的集合類型
下一篇
DAY9. Python中的各式應用與處理
系列文
python零之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言