python
a = [1, 2, 3, 1] # list
b = {1, 2, 3, 1} # set
a.append(99) # list 新增資料
print(a[2])
b.add(99)
b.add(9)
b.add(99)
b.remove(1)
for value in b:
print(value)
說明:
name = input('請輸入姓名:')
score = int(input('請輸入國文成績:'))
scores = {'aaron':99}
scores['test'] = 100
scores[name] = score
del scores['aaron']
print(scores)
說明:
a = (1, 2, 3)
b = [1, 2, 3]
c = 1, 2, 3,
d = 1
e = 1,
print(d)
print(e)
import random
a = random.randint(1, 10) # 產生1~10之間的隨機整數
print(a)
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(b)
print(b)
說明:
random.randint()
用來產生指定的兩個數字之間的隨機整數random.shuffle()
用來將list內的元素打亂
import random
SCISSORS = 1
STONE = 2
PAPER = 3
pc = random.randint(1, 3) # 1 = 剪刀, 2 = 石頭, 3 = 布
print('電腦出:', ['剪刀', '石頭', '布'][pc - 1])
player = int( input('請出拳(1=剪刀, 2=石頭, 3=布):') )
if pc == SCISSORS and player == STONE:
print('你贏了')
elif pc == SCISSORS and player == PAPER:
print('你輸了')
elif pc == STONE and player == SCISSORS:
print('你輸了')
elif pc == STONE and player == PAPER:
print('你贏了')
elif pc == PAPER and player == SCISSORS:
print('你贏了')
elif pc == PAPER and player == STONE:
print('你輸了')
else:
print('平手')
a = 'today Is a nICe day';
print(a.upper()) # 將字串內英文字元全部轉為大寫
print(a.lower()) # 將字串內英文字元全部轉為小寫
print(a.capitalize()) # 將字串內第一個英文字元轉為大寫
print(a.title()) # 將字串內每個英文單字的第一個字元轉為大寫
print(len(a)) # 計算字串長度
a = 'abcdefghijk'
print(','.join(a)) # 將字串內的每個字元之間都加上逗點
print(a + '3') # 將兩個字串串接在一起
print('a' * 10) # 將字串的內容重覆10次
name = 'aaron'
age = 18
# f-string: 將字串與變數組合在一起
print(f'My name is {name}, I\m {age + 10} years old')
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(a[0:3])
print(a[3:]) # 取到最後一個
print(a[:2]) # 從第一個取
print(a[:])
print(a[:-1])
print(a[-3:-1])
print(a[-1:-3])
print(a[::2])
print(a[::-1])
# a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(a[-3:-1:-1])
print(a[-1:-3:-1])
執行結果:
[1, 2, 3]
[4, 5, 6, 7, 8, 9, 0]
[1, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[8, 9]
[]
[1, 3, 5, 7, 9]
[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[]
[0, 9]
注意:
當最後一個step為負數時,其掃描方向為由右置左,需注意start需大於end參數,否則會取不到值
print(list(range(10, 0, -1)))
for j in range(2, 10):
for i in range(1, 10):
print(f'{j} x {i} = {j * i}')
說明:
a = 0
while a < 3:
print('*')
a += 1
import random
answer = random.randint(0, 5)
while True:
player = int(input('猜一個數字:'))
if answer == player:
print('猜對了, 遊戲結束')
break
else:
print('猜錯.')
說明:
while True:
為一個無窮迴圈break
指令跳離迴圈
a = [1, 44, 5, 78, 93, 21]
total = 0
for val in a:
if val % 2 == 1:
continue
total += val
print(f'偶數的總和為{total}')
a = [1, 2, 3, 4, 5, 6, 7]
i = 0
while i < len(a):
i += 1
if i >= len(a):
break
if i % 2 == 0:
continue
print(a[i])
fact_val = 1
for val in range(2, 4): # 3的階層
fact_val *= val
print('3的階層為:', fact_val)
fact_val = 1
for val in range(2, 5): # 4的階層
fact_val *= val
print('4的階層為:', fact_val)
def fact(num): # 定義函式, 有num參數
fact_val = 1
for val in range(2, num + 1): # 某個階層
fact_val *= val
print(f'{num}的階層為:{fact_val}')
fact(3) # 呼叫fact函式
fact(4) # 呼叫fact函式
fact(5) # 呼叫fact函式
def swap(a, b):
return b, a
# 將a, b兩個變數內容對調
a = 2
b = 3
a, b = swap(a, b)
print(f'a={a}, b={b}')
def test():
a = 3
b = 5
return 'x'
t = test()
print(t)
補充:
如果函式內沒有return,當使用指派(=)運算子去接收函式時會得到None
def a():
print('Hello')
a()
a()
a()
說明:
玩法:
import random
a = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
random.shuffle(a)
print("After shuffle", a)
answer = a[0] + a[1] + a[2] + a[3]
print('答案:', answer)
guess_count = 0 # 猜了幾次
while True:
user = input('猜四個數字(0~9)之間不重複數字:') # 2. 使用者猜數字
guess_count += 1 # 猜的次數加一
if len(set(user)) < 4:
print('不可以有重複數字,已猜了', guess_count, '次')
continue
# 猜對了,結束遊戲
if user == answer:
print('恭喜,猜對了,總共猜了', guess_count, '次')
break
# 比較
how_many_A = 0 # 幾A
how_many_B = 0 # 幾B
if answer[0] == user[0]:
how_many_A += 1
if answer[1] == user[1]:
how_many_A += 1
if answer[2] == user[2]:
how_many_A += 1
if answer[3] == user[3]:
how_many_A += 1
if user[0] in answer and user[0] != answer[0]:
how_many_B += 1
if user[1] in answer and user[1] != answer[1]:
how_many_B += 1
if user[2] in answer and user[2] != answer[2]:
how_many_B += 1
if user[3] in answer and user[3] != answer[3]:
how_many_B += 1
print(f'{how_many_A}A{how_many_B}B, 你已經猜了{guess_count}次')
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up