搭上複習快車ㄅ!!!
燃燒你的IO魂
吃甚麼吐什麼
# Input hello sprout # Output hello sprout
word = input() print(word)
Eat an integer and print add 1
#input 1 #output 2
a = int(input()) print(a+1)
吃很多個整數,每個都加1
# Input 3 4 6 # Output 4 5 7
# 吃進input然後以空白分割 # list of string nums_str = input().split() # 用map把裡面每個元素都轉型成int nums = list(map(int,nums_str)) ans = [] for i in nums: # 為了之後用join做準備,所以先轉型 ans.append(str(i+1)) print(" ".join(ans))
a = input("安安")
a = ?
使用者輸入r,"安安"只是問候語。
每筆資料中間銜接的部分。
print(1,2,3,4) # 1 2 3 4 print(1,2,3,4,sep="*") # 1*2*3*4
結尾的字元,default '\n'
print("安安") print("Rilak") # 安安 # Rilak print("安安",end='r! ') print("Rilak") # 安安r! Rilak
not False # True
not True # False
1 > 3 # =>False 1 != 3 # => True 1 == 3 # => False 2 <= 3 # => True 9 > 3 > 2 >1 #=> True
"Sprout" == "忠毅" # False
"123" > 12
"123" > 12
# True
"123" > 12
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#TypeError: unorderable types: str() > int()
if 條件1: # 做某些事 # 別忘記縮排 elif 條件2: # 若不符合條件1 # 但是符合條件2 # 做某些事 else: # 否則做某些事
Rilak_has_answer = True if Rilak_has_answer: print("Rilak快教教我r") else: print("Rilak快想想r")
如果Rilak_has_answer,就輸出"Rilak快教教我r",不然就輸出"Rilak快想想r"。
if 條件: if 條件: #做某些事 else: #做某些事 else: #做某些事
輸出1-50間所有是3的倍數但不是2的倍數的數字?
for i in range(1, 51): if i % 3 == 0: if i % 2 != 0: print (i)
for i in range(1, 51): if i % 3 == 0 and i % 2 != 0: print (i)
只要滿足條件,就繼續。
while 條件: # 做某件事 # 要記得縮排喔!!!
一個蘿蔔一個坑。
一個break一個迴圈。
n = 0 while True: if n > 3: break n+=1
n = 0 while True: for i in range(5): if n > 10: break n+=3 n+=1 if n > 20: break print(n)
問n = ?
有時,你會不想跑剩下的東西
for i in range(10): if i % 3 == 0: continue print(i)
配合range或是其他可以iter東西。
print 1 到 100
k = 1 while k < 101: print(k) k += 1
for i in range(1,101): print(i)
range(起始值,終止值,變化值)
range(起始值,終止值)
# 等價於
range(起始值,終止值, 1)
range(中止值) # 等價於 range(0,終止值, 1)
print(list(range(9,3,5)))
很重要!很重要!很重要!
a = ['rilak',666] # a[0] 是 'rilak' # a[1] 是 666
a = ['rilak',666] print(len(a)) # 2
b會依序迭代a裡的元素,第一次是'rilak'第二次是666。
a = ['rilak',666] for b in a: print(b)
a = ['rilak',666] for i in range(len(a)): print(a[i])
min([9,4,8,7]) # 4
max([9,4,8,7]) # 9
sum([9,4,8,7]) # 28
string也可以比min,max,按照字典序。
min(['a','b','c','d']) # 'a'
a = [] print(a) # [] a.append(1) print(a) # [1]
a = [1,2,3,4] a.pop(1) print(a) # [1,3,4]
a = [1,2,3,4,5,6] a.insert(3,1000) print(a) # [1,2,3,1000,4,5,6]
a = [1, 2, 8, 7, 5, 6] a.sort() print(a) # [1,2,5,6,7,8]
a = [1,2,8,7,5,6] a.reverse() print(a) # [6,5,7,8,2,1]
a = [1,2,8,7,5,6] print(a[::-1])
a = [1,2,8,7,5,6] print(a[::-1]) # [::-1]會製造一個新的list a = [1,2,8,7,5,6] print(a.reverse()) # a.reverse() 只會改變自己 # Nothing print(a) # [6,5,7,8,2,1]
a = "Sprouts"
a = ['S','p','r','o','u','t','s'] # S a = "Sprouts" a[0] # S
immutable : 不能被修改
a = "123456" a[0] = "3" # Error
a = "hortune" print (a.replace("hortune", "rilak")) # rilak print (a) # hortune
a = "hortune rilak" k = a.split() print(a) # hortune rialk print(k) # ["hortune","rilak"]
a = "hello moto" print(a.find("moto")) # 6
a = {"123" : 123, "bbb" : "ccc"}
grade = {} grade["rilak"] = 666
temp = {"a":1,"b":2} for i in temp: print(i,temp[i])
temp = {"a":1, "b":2} "a" in temp # True "c" in temp # False
def hello(): pass # 別忘記縮排
def c_sum(a,b,c): return a+b+c
def pprint(a,b): print(a,b) pprint(1,2) # 1 2 pprint(b=1,a=2) # 1 2
def weird(q): q+=1 a = 1 weird(a) print(a) # 1
def weird(q): q.append(1) a = [] weird(a) print(a) # [1]
def weird(a = 1): print(a) weird(2) weird()
def weird(a=1,b): print(a) # SyntaxError: non-default argument follows default argument
def weird(*args, **kwargs): print(args) print(kwargs) weird(6,6,6,name="rilak") # (6,6,6) # {"name":"rilak"}
b = 2 def q(): print(b) q() # 2
def a(): q = 1 a() print(q) # NameError: name 'q' is not defined
q = 2 def a(): q = 1 print(q) # 2
b = 2 def q(): print(b) b = 3 q() #Traceback (most recent call last): # File "<stdin>", line 3, in <module> # File "<stdin>", line 4, in q #UnboundLocalError: local variable 'b' referenced before assignment
b = 2 def q(): global b print(b) b = 3 q() print(b) # 3 # 3
print(locals()) #{'__spec__': None, '__builtins__': <module 'builtins' (built-in)>, '__loader__': <class #'_frozen_importlib.BuiltinImporter'>, '__package__': None, '__name__': '__main__', '__doc__': None} def qq(): a = 1 print(locals()) qq() # {'a':1}
def a(): b = 5 print(locals()) def q(): c = 3 print(locals()) q() a() # {'b':5} # {'c':3}