100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python小游戏之“读心术”

Python小游戏之“读心术”

时间:2020-08-27 11:21:18

相关推荐

Python小游戏之“读心术”

读心术:猜数字游戏 〉 一款经典的猜数字AI:用户先随机在 0-1000之间随意写一个数字,AI开 始猜,如果猜的数大了,用户就说大 了,反之,则说小了。

算法:二分查找

〉 从中间的数开始,如果猜中则结束

〉 如结果大于或者小于中间的数,则在 剩下大于或小于中间的数的那一半中 查找

〉 每一次比较都使搜索范围缩小一半

import randomimport sysdef human_guess():#从0-1000中,产生一个随机数num = random.randint(0,1000)i = 0while 1 :#异常处理-输入非int型数据的时候try:#guess接收-从键盘输入数字的值guess = int(input('‘请输入数字0~1000:'))except ValueError:print("请输入正确的数字0~1000")continuei += 1#如果输入猜测的数字,比随机产生的数num要大if guess > num :#提示猜测大了print("猜大了:",guess)elif guess < num :#提示猜小了print("猜小了:",guess)else:print("你猜对了!共猜了",i,"次")sys.exit(0)def computer_guess():print('请在心里想一个0~1000范围内的数字')small = 0big = 1000guess = 500i = 0while 1:guess = int((big+small)/2)i += 1print('是这个数吗:'+ str(guess) + 'B:大了,S:小了,C:正确')char = input()if char == 'B':big = guesselif char == 'S':small = guesselif char == 'C':print("共猜了{0}次,得到正确结果{1}".format(i,guess))sys.exit(0)else:print('请正确输入回答:(B:大了,S:小了,C:正确)')def main():who_guess = input('请决定谁来猜数(C:电脑,H:玩家):')if who_guess in 'Hh':human_guess()elif who_guess in 'Cc':computer_guess()if __name__ == '__main__':try:main()except KeyboardInterrupt:print('程序异常')sys.exit(1)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。