2018年12月23日 星期日

用Python開發XAXB小遊戲

小時候敏哥很常跟朋友玩XAXB小遊戲,首先雙方先選四個0-9不同的數字,然後猜對方的數字,對方必須回應XAXB,例如:1A2B表示有3個數字出現在答案中,其中一個位置對,另兩個位置不對,以此類推,直到有人猜出來為止。

Python程式碼如下:
import random
x=random.sample('1234567890',4)
print (x)
play=True
while play:
    y=input("輸入4個不同數字:")
    print (y)
    z = list(y)
    print (z)
    a=0
    for i in range(4):
        if(x[i]==z[i]):
            a=a+1
    b=0
    j=0
    while j < 4:
        k=0
        while k < 4:
            if j==k :
                k=k+1
                continue
            if(x[j]==z[k]):
                b=b+1
            k=k+1
        j=j+1
     
    print(a,"A", b, "B")
    if a == 4:
        play = False

2 則留言:

  1. 您好,感謝您的教學,不過老師我有一個疑惑,為甚麼這邊x=random.sample('1234567890',4) 如果用num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] x=random.sample(num,4) 這樣跑不出來呢?

    回覆刪除
  2. import random

    num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    x=random.sample(num,4)
    print(x)

    回覆刪除