寫程式前,需導入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("感謝遊玩")
函數是一段可以重複使用的程式碼,在函數後加上括號即可呼叫函數。我們也可以透過呼叫函數來傳遞數據,這些數據便稱為參數。
範例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")