[閒聊] 自學練習

作者: erimow (Erimo)   2024-08-10 11:23:08
# Given a list of ints, return True if the list contains a 3 next to a 3.
想法是,33要連接在一起,所以檢查在lst裡面如果有3的話,後一個是不是也是3
def has_33(lst):
for index in range(0, len(lst) - 1):
# print(index)
if lst[index] == lst[index + 1] == 3:
return True
return False
print(has_33([1, 5, 7, 3, 3])) # True
print(has_33([3, 3]))
print(has_33([])) # False
print(has_33([4, 3, 2, 1, 0])) # False
這邊一開始犯了錯
我本來用lst[index] == lst[index-1] == 3:
但這句的狀況會發生第一個3和最後一個3也會判定True的情況
Write a function that check if a list contains a subsequence of 007
想法
因為要找007,有兩個0一個7
同時 0 0 7的出現順序可以交錯但不能亂跳
滿足以上兩個條件是True
這題超級醜
想不出好的方法
只好三重套娃
先找7 再找7前面的0 找到0之後再找前面有沒有0
如果有兩個7以後面的7為優先
和GPT討論完之後,加看一下影片
變成如果我設三個變數
一個是[0,0,7] 一個是list的index 一個是[0,0,7]的index
當我在查找list index裡的數字的時候
每當我的list有一個數字和[0,0,7]的index[0]對應的時候
就紀錄,然後兩個index都+1
之後找到第3個就可以
https://imgur.com/ExFVg3g.jpg
作者: JerryChungYC (JerryChung)   2024-08-10 11:34:00
if別再括號了 :(
作者: MurasakiSion (紫咲シオン)   2024-08-10 11:41:00
https://i.imgur.com/P0zgIKY.png py的陣列可以直接這樣切出來的 你自己想一下怎麼用

Links booklink

Contact Us: admin [ a t ] ucptt.com