一個很經典的小遊戲四個數字猜測,0~9選四個數字,一次以四個數字去猜測,有在猜測中的數字且位置對表示1A二個表示2A,有猜中但位置不對表示1B。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import random
#設定四個亂數不重覆的數字。 Number= [0,1,2,3,4,5,6,7,8,9] initial = random.sample(Number,4)
A=0 while A<4: #設定1A2B Game的AB初始。 A,B=0,0 Gamer_Number=[] #使用input讓Gamer輸入值。 Input_number=input('請輸入四個數字0~9:') #判斷是否不是數字,如果不是數字就是中斷這次迴圈重新輸入。 if Input_number.isdigit() != True: print('-----請輸入數字-----') continue #判斷輸入的數字小於4個或大於等於5個都重輸。 elif len(Input_number) < 4 or len(Input_number) >=5: print('數字數量有異,請重新輸入四個數字') continue #將整個值轉成個位數字,加入陣列中。 for I in range(0,4): #擷取變數字串,分割一個一個加到Gamer_Number。 Gamer_Number.append(int(Input_number[I:I+1]))
#判斷幾A幾B,且顯示出來。 for AB in range(0,4): if Gamer_Number[AB]==initial[AB]: A=A+1 elif Gamer_Number[AB] in initial: B=B+1 print(A,'A',B,'B :',Input_number) #判斷4A後表示獲勝。 if A==4 : print('-----Great-----')
#印出1A2B電腦的值。 print(initial)
|
結果:
沒有留言:
張貼留言