[闲聊] 自学练习

楼主: 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