python学习第十三周(实验课)
2021/6/19 11:57:00
本文主要是介绍python学习第十三周(实验课),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
聪明的尼姆游戏(人机对战)
实验目的:
(1)理解尼姆游戏规则
(2)了解并熟练使用while循环
(3)理解带else子句的循环结构执行流程
(4)理解循环语句的break语句的作用
(5)了解使用循环和异常处理结构对用户输入进行约束的用法
实验内容:
尼姆游戏是一个著名的游戏,有很多变种玩法。两个玩家轮流从一堆物品中拿走一部分。在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。
在聪明模式中,计算机每次拿走足够多的物品使得堆的大小是2的幂次方减1——也就是3,7,15,31或63.除了堆的大小已经是2的幂次方减1,在其他情况下这样走都是符合游戏规则。在那种情况下,计算机就按游戏规则随机拿走一些。
编写程序,模拟聪明版的尼姆游戏。
half = n // 2 if num <= half: return num return randint(1,half) def smart(n): while n > 1: print("你的回合,还剩下{}物品".format(n)) while True: try: num = int(input("你要拿走的数量:")) assret 1 <= num <= n // 2 break except: pass n -= num if n == 1: return "我输了" n -= every_step(n) else: return "你输了" print(smart(randint(1,100)))
猜单词游戏
实验内容:编写程序模拟猜单词游戏。程序运行时,系统随机生成一个单词,然后将产生后的单词中字母的顺序进行打乱,组成新的一个单词。然后提示用户进行猜测,并根据用户输入进行必要的提示(猜对了,猜错了),如果猜错了,则提示用户继续猜,每一个用户有三次猜测的机会。猜对了则提示用户,“猜对了,恭喜过关”,然后询问用户是否要继续下一关。
import random WORDS = ('ErenYeager','ArminArlert',' MikasaAckerman','JeanKirstein','Annie','Sasha','improve','Krista','Connie','Marco') isGo_on = 'Y' while isGo_on == 'Y' or isGo_on == 'y': randomWord = random.choice(WORDS) correctWord = randomWord jumbleWord = '' while randomWord: position = random.randrange(len(randomWord)) jumbleWord += randomWord[position] randomWord = randomWord[:position] + randomWord[(position + 1):] print('乱序后单词:',jumbleWord) guessWord = input('\n请您猜猜看:') while guessWord != correctWord and guessWord != '': print("猜错了") guessWord = input("继续您猜:") if guessWord == correctWord: print("猜对啦,恭喜过关!\n") isGo_on = input("\n\n是否要继续下一关?(Y/N):")
这篇关于python学习第十三周(实验课)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门