新人代码求解

xttt05 2016-08-18 05:33:52
from random import choice

cave_numbers=range(1,21)
wumpus_location=choice(cave_numbers)
player_location=choice(cave_numbers)
while player_location==wumpus_location:
player_location=choice(cave_numbers)

print "欢迎来捕获wumpus"
print "你可以看到",len(cave_numbers),"caves"
print "请输入你要进入的下一个洞穴"

while True:
print "你现在在",player_location,"洞穴"
if(player_location==wumpus_location-1 or player_location==wumpus_location+1):
print "我闻到wumpus的气味!"
print "下一个要进入哪个洞穴"
player_input=raw_input(">")
if (not player_input.isdigit() or int(player_input)not in cave_numbers):
print player_input,"这不是一个洞穴!"
else:
player_location = int(player_input)
if player_location==wumpus_location:
print "啊哈,你被wumpus吃掉了"
break

代码如上
,为什么一直在 print "你现在在",player_location,"洞穴" 这里死循环

谢谢大家
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
维秀斯丢丢 2016-08-19
  • 打赏
  • 举报
回复
引用 4 楼 twotuli_software 的回复:
这个if条件很难满足。
如果你这两个随机的变量 不满足你的if 怎么也不会进去的,这是编程基本的思想吧。
维秀斯丢丢 2016-08-19
  • 打赏
  • 举报
回复
这个if条件很难满足。
维秀斯丢丢 2016-08-19
  • 打赏
  • 举报
回复
你这个额程序等了很久也没有执行到第一个if里面去吗?
xttt05 2016-08-18
  • 打赏
  • 举报
回复
引用 1 楼 twotuli_software 的回复:
断点调试一下,肯定没执行到break嘛。 逻辑出错了。
设了断点 print "欢迎来捕获wumpus" print "你可以看到",len(cave_numbers),"caves" 这两个都可以运行, 就是一直在print "你现在在",player_location,"洞穴" if(player_location==wumpus_location-1 or player_location==wumpus_location+1): 这两句循环,下面都不运行,请问这是为什么呢
维秀斯丢丢 2016-08-18
  • 打赏
  • 举报
回复
断点调试一下,肯定没执行到break嘛。 逻辑出错了。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧