``這天的培訓活動雖然不長,但我還是從中學到了一些東西,之前自學的時候,一些資料型別學的時候沒有認真記,在腦子里并不是根深蒂固,數字運算子,無非數學當中的加減乘除運算,乘方,取整,取余,冪運算,這在生活中運用是小問題,但要讓機器也會那就有點活要干了,首先要讓它聽懂,人與人之間的交往尚且需要組織語言,而不懂人情世故的計算機就需要我們耐心點了,你不好好跟它說話,它就會給你報一堆錯,雖說難以對話,但它還是很聽話的,讓它跑程式絕對是盡職盡責,鞍前馬后,任君驅使,只要不終止,它會一直作業下去,機器都在打工了,啊,我還在做什么,趕緊學數學去,數分做了沒,高代做了沒,解幾呢,敲完還不快去;咳咳,跑題了,布林值,真值假值,0假1真,True與False;l串列,字典,元典,集合,四者區別,增刪改查……林林總總,這些有時間再看看吧,再不濟,多抄幾遍,也不會費多少時間,
以上都是廢話,下面才是,
數字大爆炸
先了解一下游戲規則,系統隨機選取一個亂數,給定范圍,范圍之內,人與機器輪流猜測,每猜一次,判斷是否為亂數,不是的話,提示過大還是過小,再猜,直到猜到為止,若是亂數,行了,沒活干了,
再看涉及知識點,字符輸入輸出,邏輯設計(if,while,for等),函式包的呼叫,其他的不知道還有什么懂得都懂,哈哈哈,
最后在看看怎么設計這個游戲吧
1、簡述下游戲規則
2、選好亂數,請人與機做好準備
3、人先猜,猜完系統判斷,=,>,<三種分類討論,猜完機器根據新范圍猜,誰先猜中誰贏,猜贏了游戲也結束了,太單調了,不行,得整點幺蛾子
4、開頭倒數
5、計算猜的次數
6、限定猜的次數,猜多了也會爆炸,請珍惜最后的次數
7.over
以下是代碼,碼字不易,有不對之處,歡迎指正
import random#匯入隨機模塊
import time#匯入時間模塊
print("游戲為猜數游戲,雙方對弈,在有限次數內猜數,誰先猜中就炸") #介紹游戲規則
print("亂數已生成,做好準備,游戲將在三秒倒數后開始")#游戲提醒
dic={'min':1,'max':1000} #用字典接收min與max的變化
j = 3 #開始計數
while 0 < j:
print(j,end='\t')
time.sleep(1)#時間間隔
j -= 1
print("\n游戲開始")#游戲開始
print("亂數開始范圍是[1,1000]")#告知范圍
guess_time = 0#記錄次數
rd=random.randint(dic['min'],dic['max'])#生成亂數
while True:#開始回圈
your_num = int(input("請你猜一個在該范圍中的數:"))#提醒用戶輸入
while your_num<dic['min'] or your_num>dic['max']:#判斷用戶輸入是否有誤
your_num = int(input("你輸入數字超出范圍,請重新輸入:"))#提醒重新輸入
guess_time += 1#次數變化
if your_num < rd:#一情況
print(f"你的數字比答案小,數字范圍將改為[{your_num+1},{dic['max']}]")#提醒用戶與答案的差距,范圍將發生改變
dic['min']=your_num+1#范圍變化
# rd = random.randint(dic['min'], dic['max'])
machine_num=random.randint(dic['min'],dic['max'])#機器選數
print(f'機器猜測的數字是{machine_num}')#通報
if machine_num<rd:#一情況,以下參上,不再贅述
print(f"機器的數字比答案小,數字范圍將改為[{machine_num + 1},{dic['max']}]")
dic['min'] = machine_num + 1
elif machine_num>rd:
print(f"機器的數字比答案大,數字范圍將改為[{dic['min']},{machine_num-1}]")
dic['max'] = machine_num -1
else:
print('機器猜中了,機器要炸了')
elif your_num > rd:
print(f"你的數字比答案大,數字范圍將改為[{dic['min']},{your_num-1}]")
dic['max'] = your_num - 1
# rd = random.randint(dic['min'], dic['max'])
machine_num = random.randint(dic['min'], dic['max'])
print(f'機器猜測的數字是{machine_num}')
if machine_num<rd:
print(f"機器的數字比答案小,數字范圍將改為[{machine_num + 1},{dic['max']}]")
dic['min'] = machine_num + 1
elif machine_num>rd:
print(f"機器的數字比答案大,數字范圍將改為[{dic['min']},{machine_num-1}]")
dic['max'] = machine_num -1
else:
print('機器猜中了,機器炸了')
break
else:
print('妙啊,你炸了!')
break
if guess_time == 9:
print("猜測次數過多,游戲結束")
break
print("歡迎下次再來")
print(f"你一共猜了{ guess_time}次" )
下面是自己玩的一把

此次作業到此就接近尾聲了,在最后我還想多說幾句,非常感謝師兄師姐的培訓,在這個領域上我可以說是小白一個,對許多方面都不熟悉,甚至是不知道,但看到部門的朋友們都這么優秀,我也要逼著自己去學,我也樂意進步,不叨嗑了,還有數學要寫,溜了溜了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/197670.html
標籤:其他
下一篇:hdf5檔案格式使用攻略
