题目描述:
編写程序,实现抓孤理游戏。假设墙上有5个洞(编号分别为0、1、2、3、4),
其中一个洞里有狐理,人类玩家输入洞口编号,如果洞里有狐狸就抓到了;如果洞里没有
理就第二天再来抓。但在第二天人类玩家来抓之前,狐狸会跳到隔壁的洞里。

from random import choice, randrange
n=5
maxStep=10
# n 个洞口,有狐狸为1,没有狐狸为0
positions = [0] * n
# 狐狸的随机初始位置
oldPos = randrange(0, n)
positions[oldPos] = 1
# 抓maxStep 次
while maxStep >= 0:maxStep -= 1
# 这个循环保证用户输入是有效洞口编号while True:
try:
x = input('你今天打算打开哪个洞口呀?(0-{0}):'.format(n-1))
# 如果输入的不是数字,就会跳转到except 部分
x = int(x)
# 如果输入的洞口有效,结束这个循环,否则就继续输入
assert 0 <= x < n, '要按套路来啊,再给你一次机会。'
break
except:
#如果输入的不是数字,就执行这里的代码
print('要按套路来啊,再给你一次机会。')
if positions[x] == 1:
print('成功,我抓到小狐狸啦。')
break
else:
print('今天又没抓到。')
print(positions)
# 如果这次没抓到,狐狸就跳到隔壁洞口
if oldPos == n-1:
newPos = oldPos -1
elif oldPos == 0:
newPos = oldPos + 1
else:
newPos = oldPos + choice((-1, 1))
positions[oldPos], positions[newPos] = 0, 1
oldPos = newPos
else:
print('放弃吧,你这样乱试是没有希望的。')

Python学习之学校教学(选择结构与循环结构)抓狐狸问题相关推荐

  1. Python学习之学校教学( 已知复数,请写出它的模、实部、虚部及共轭复数)

    我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位.当z的虚部等于零时,常称z为实数:当z的虚部不等于零时,实部等于零时,常称z为纯虚数.复数域是实数域的 ...

  2. Python学习之学校教学(统计字符出现次数,包括字、标点符号)

    题目描述: 统计<水调歌头·明月几时有>字符出现次数. 明月几时有,把酒问青天. 不知天上宫阙,今夕是何年? 我欲乘风归去,又恐琼楼玉宇,高处不胜寒. 起舞弄清影,何似在人间! 转朱阁,低 ...

  3. python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...

    推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书购买链接(京东):配 ...

  4. Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化

    推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书购买链接(京东): ...

  5. C++ 学习(四)程序流程结构 - 顺序结构、选择结构、循环结构、跳转语句

    1.顺序结构 程序按编码顺序执行,不发生跳转. 2.选择结构 (1)if语句 包含单条件if语句.多条件if语句及嵌套if语句 C++ if语句 #include <iostream> u ...

  6. Java学习day03-选择结构与循环结构

    选择结构与循环结构 今日目标: 1.程序的流程结构 2.认识流程图 3.复杂条件的if选择结构 4.if-else结构 5.多重if选择结构 6.嵌套if选择结构 7.switch的用法 8.代码块 ...

  7. C语言之顺序结构、选择结构和循环结构(break和continue的不同作用)

    所有语言的结构总共有三种,分别是顺序结构.选择结构和循环结构,C语言也不例外. 一.顺序结构 所谓顺序结构就是按照语句的书写顺序,一步一步运行. //例题:#include <stdio.h&g ...

  8. c语言for循环笔记,【学习笔记】【C语言】循环结构-for

    1.使用: for (语句1; 条件; 语句2) { 循环体 } 语句1:初始化语句 语句2:增量语句(执行完循环体后再执行的语句) 1.for一开始就会执行一次语句1(整个for循环只会执行一次) ...

  9. Python的顺序流程、选择流程、循环流程

    Day04新手小白学python 第四节  Python的顺序流程.选择流程.循环流程 目录 Day04新手小白学python 前言 一.顺序流程 二.选择流程 1.单分支 2.双分支 3.多分支 4 ...

最新文章

  1. winsock2之最简单的win socket编程
  2. 关于python知识点的blog
  3. 云计算十年 腾讯新一代企业安全助力云化之路
  4. 系统性能衡量维度、指标
  5. iOS开发之加速开发使用的28个第三方库、优秀第三方库集合
  6. 计算机知识*.jpg,计算机第一篇考试题(基础知识部分)
  7. PDA平台上MessageBox和SIP的冲突
  8. 20150409作业3 阅读《构建之法》1-5章
  9. 贴上AI标签的综艺,未来的模样你敢想象吗?
  10. jar 坐标系转换工具_谷歌百度经纬度转换
  11. 【SLAM小车】硬件_TB6612FNG设计记录
  12. 08CMS之AJAX
  13. 高斯混合模型(GMM)和高斯过程回归(GPR)的学习
  14. 基于MODBUS总线的变频调速系统设计与实现
  15. (三)office2016-excel制作打钩按钮
  16. sift论文_ImageNet一作邓嘉最佳论文,ECCV2020奖项全公布
  17. 2021年安全员-A证考试技巧及安全员-A证
  18. 熊猫烧香作者李俊自主创业开网络安全公司
  19. 图像相关层之卷积锐化图片示例
  20. 2021年吉林艺术高考成绩查询,2021年吉林艺术学院高考录取结果什么时候出来及查询系统入口...

热门文章

  1. 2017-2018-1 20155222 《信息安全系统设计基础》第13周学习总结
  2. 朗朗上口的穴位歌!收藏了,很难找到!
  3. Python编程错误:参数错误([_ctypes.COMError: (-2147024809, ‘参数错误。‘, (None, None, None, 0, ...
  4. 【hh】我胡汉三又回来了
  5. DMA基金会加速,5G应用
  6. 使用DecimalFormat进行数字的格式化
  7. UE插件AFC和GSHand的组合使用
  8. dvd光盘安装linux系统,从单DVD光盘上安装openSUSE
  9. 乱斗西游2服务器没响应,乱斗西游2月3日维护_无法连接服务器公告_蚕豆网新闻...
  10. 生物信息学入门 GEO芯片数据差异表达分析时需要log2处理的原因