2019年10月12日 星期六

判斷是否 hit and blow

data from python 入門教室
#  判斷 hit    a是電腦取亂數 b是自己輸入
for i in range(4):
    if a[i]==int(b[i]):
        hit=hit+1


=======================
==========case 1
#判斷blow
#最初的式子 (判斷b[0]是否blow)
for i in range(4):
    if int(b[0])==a[i]:
        blow=blow+1
        break #避免重複計算

========改寫 1
#依上述的式子仍有重複判斷的結果
for i in range(4):
    if ((int(b[0])==a[i]) and (a[i] != int(b[i])) and (a[0] !=int(b[0]))):
        blow=blow+1
        break
    if ((int(b[1])==a[i]) and (a[i] != int(b[i])) and (a[1] !=int(b[1]))):
        blow=blow+1
        break
=========改寫2
#依上述的式子以迴圈表示
for j in range(4):
    for i in range(4):
        if ((int(b[j])==a[i]) and (a[i] != int(b[i])) and (a[j] !=int(b[j]))):
        blow=blow+1
        break

沒有留言:

張貼留言