python的小練習--猜數字提示XAXB


今天剛剛學了python的基本語法,老師布置了一些練習題,課堂上沒解決,課后想了下,將自己的做法貼出來:

def count(guess, result):    # 計算A,B的數量
guess=str(guess) # 將數字轉換成字符串
result=str(result)
numA=0
numB=0
for i in range(4):
if guess[i] == result[i]: # 當相同位置上有相同的數字時,A的數量加1
numA+=1
elif guess[i] in result: # 當位置上的數字不相同時,判斷在其他位置上是否有該數字,B的數量加1
numB+=1
sum=str(numA)+str(numB)
return sum

def check(guess): # 判斷猜測數據是否合法
if guess in range(1000, 10000):
guess = str(guess)
for i in range(4):
a = guess[i]
for j in range(i+1, 4):
if a == guess[j]:
print("數字不能有重復的")
return 2
print("數字合法")
return 1
else:
print("數字有效位數為4位")
return 3


while True:
result = 1034
guess = int(input("請輸入猜測的數字(四位有效數字):"))
if check(guess) == 1:
num = count(guess, result)
if int(num[0]) == 4:
print("恭喜你,猜中了,數字就是:", guess)
break
else:
print("還差一點,請繼續加油:", int(num[0]), "A", int(num[1]), "B" )
else:
print("猜測的數字不合法,請重新輸入")


要點為:1.數據類型的轉換,從輸入的數字字符串轉換到整型,整型到字符串
2.對整型數據處理,比較每一位的值,計算出AB的值
3.不合法的數據,直接提示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM