在想一個思路寫一個遊戲解法python小程序

拍7這個遊戲是我大學和同學聚餐喝酒時常玩的遊戲。

遊戲規則: 從1開始,每人依次 +1 往上數,遇到含有 7 或者 7 的倍數的數,就要拍一下桌子。但是我們就那麼些人喝了4年,這遊戲玩到100以上的次數還是屈指可數。爲了下次少喝酒偷笑 ,寫一個程序加深印象。


我的思路是這樣子的:

  1. 給定一個範圍,例如100以內,for i in range(1,100);
  2. 滿足 i % 7 == 0 的輸出到 a = [];
  3. 餘下的數轉成字符串類型,利用索引判斷位數上含不含 7,滿足條件的輸出到 b = [];
  4. 在想。


問題出來了,給定範圍的數都是int型,這就不能做下標。

不管是元組還是列表,都不能做 - 操作,第二步完成之後餘下的數怎麼表示呢?

有問題就有動力,菜雞日記。






續:

之前的思路現在想起來真的是有點可笑。先上代碼:

list = []
def take_7(x):
    for i in range(1,x): 
        if i % 7 == 0:
            list.append(i)
        if "7" in str(i):
            list.append(i)
        print(set(list))

輸出爲

>>>take_7(100)
{7, 14, 17, 21, 27, 28, 35, 37, 42, 47, 49, 56, 57, 63, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 84, 87, 91, 97, 98}
解題只需要將int型轉爲str,如此簡單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章