日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python写猜数字游戏

發布時間:2024/3/13 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python写猜数字游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

猜數字游戲

從名單中隨機抽取5位同學,參加猜數字

目的:練習文件操作、循環、判斷、構造函數、列表和集合的操作

主要思路:

  • 隨機抽取從文件中抽取5個人員參加游戲
    • 判斷名單名字的行數
    • 隨機生成數,并在文件中獲取名單
  • 判斷數字的大小
    名字單:name
張三 李四 王五 狗四 李好 張四 王麻子 胡八一 李敏 朱三 周二 曹三 曹達 小鬼子

版本一:

""" 從名單中隨機抽取5位同學,參加猜數字 """ import random def main():# 2、隨機抽取5個人員peopleNum = 5 #抽取5人people(peopleNum)# 3、隨機生成數字1~100的數number = random.randint(1,100)# 4、判斷正確referee(number) #2、隨機抽取5個人員 def people(peoplNum):peopleList = set()line = fileLine()while len(peopleList) < peoplNum : #避免了猜數字人員名字的重復問題# 生成隨機數randNum = random.randint(1, line)with open("name", 'r', encoding="utf-8") as f: #可以不用close()文件for i in range(1, randNum + 1): #目的:一次遍歷文件的內容,找到指定的行(randNum就是行號)name = f.readline().strip('\n') #去掉名字中的\nif randNum == i:peopleList.add(name) #將名字添加到人員名字中peopleListprint("恭喜",peopleList,"進行猜數比賽")#2.1 、獲取名單的行數 def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判斷正確 def referee(number):max = 100min = 1print(number)while True:inputNum = int(input("請輸入%d~%d整數:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

版本二:

""" 從名單中隨機抽取5位同學,參加猜數字 """ import random def main():# 2、隨機抽取5個人員peopleNum = 5 #抽取5人people(peopleNum)# 3、隨機生成數字1~100的數number = random.randint(1,100)# 4、判斷正確referee(number) #2、隨機抽取5個人員 def people(peoplNum):peopleList = [] #人員的名字radNum = [] #保存隨機數,為避免隨機數產生相同line = fileLine()for x in range(peoplNum):# 生成隨機數randNum = random.randint(1, line)radNum.append(randNum) if radNum.count(randNum) > 1: #統計數隨機數產生的的個數continuewith open("name", 'r', encoding="utf-8") as f:for i in range(1, randNum + 1): name = f.readline().strip('\n')if randNum == i:peopleList.append(name)print(peopleList) #2.1 、獲取名單的行數 def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判斷正確 def referee(number):max = 100min = 1print(number)while True:inputNum = int(input("請輸入%d~%d整數:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

版本三:

""" 從名單中隨機抽取5位同學,參加猜數字 """ import random import linecache def main():# 2、隨機抽取5個人員peopleNum = 5 #抽取5人people(peopleNum)# 3、隨機生成數字1~100的數number = random.randint(1,100)# 4、判斷正確referee(number) #2、隨機抽取5個人員 def people(peoplNum):peopleList = [] #人員的名字line = fileLine()radNum = [] # 保存隨機數,為避免隨機數產生相同while len(peopleList) < peoplNum:index = random.randint(1,line) radNum.append(index)if radNum.count(index) > 1: # 統計數隨機數產生的的個數,避免名單人員名字重復continuepeopleList.append(linecache.getline("name",index).strip("\n"))print(peopleList) #2.1 、獲取名單的行數 def fileLine():with open("name","r",encoding="utf-8") as f:linecount = 0for line in f:linecount +=1return linecount#4、判斷正確 def referee(number):max = 100min = 1while True:inputNum = int(input("請輸入%d~%d整數:\n"%(min,max)))if inputNum == number:print("恭喜你猜中了",number)breakelif inputNum >= min and inputNum < number:min = inputNumelif inputNum <= max and inputNum > number:max = inputNumif __name__ == '__main__':main()

總結

以上是生活随笔為你收集整理的用python写猜数字游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。