首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么我的代码可以在在线编译器上运行,而不能在代码编辑器上运行

为什么我的代码可以在在线编译器上运行,而不能在代码编辑器上运行
EN

Stack Overflow用户
提问于 2021-01-16 06:29:00
回答 2查看 67关注 0票数 0

为什么我的代码会卡在while循环中?我不能理解为什么会发生这种情况。这段代码像往常一样在像Thorny这样的在线代码检查器和编译器上运行。但是当在代码编辑器中运行它时,它会进入无限的while循环。有一些错误,我不能删除。请帮我解决问题。

代码语言:javascript
运行
AI代码解释
复制
import random

WIN_SCORE = 100
DICE_FACES = 6

Position_of_snakes = {17: 7, 54: 34, 62: 19, 98: 79}
Position_of_ladders = {3: 38, 24: 33, 42: 93, 72: 84}


def starting_title():
    print("###### Welcome to Snake & Ladder Game ######")
    print("###### Lets us Start ######")


def players_name():
    player1_name = None
    while not player1_name:
        player1_name = input("Please enter Player 1 name: ")
    player2_name = None
    while not player2_name:
        player2_name = input("Please enter Player 2 name: ")
    return player1_name, player2_name


def roll_the_dice():
    dice_value = random.randint(1, DICE_FACES)
    return dice_value


def snake_and_ladder(player_name, current_position, value_of_dice):
    previous_position = current_position
    current_position = current_position + value_of_dice

    if current_position > WIN_SCORE:
        return previous_position

    if current_position in Position_of_snakes:
        final_position = Position_of_snakes.get(current_position)
    elif current_position in Position_of_ladders:
        final_position = Position_of_ladders.get(current_position)
    else:
        final_position = current_position
    return final_position


def win_check(player_name, position):
    if WIN_SCORE == position:
        print(f"Congratulations!!! {player_name} won the Game")


def game_start():
    starting_title()

    player1_position = 0
    player2_position = 0

    player1_name, player2_name = players_name()
    while True:
        player_input_1 = input("Enter 'roll' to Roll the Dice").lower()
        dice_value = roll_the_dice()
        player1_position = snake_and_ladder(player1_name, player1_position, dice_value)
        win_check(player1_name, player1_position)
        player_input_2 = input("Enter 'roll' to Roll the Dice").lower()
        dice_value = roll_the_dice()
        player2_position = snake_and_ladder(player2_name, player2_position, dice_value)
        win_check(player2_name, player2_position)

game_start()
EN

回答 2

Stack Overflow用户

发布于 2021-01-16 06:36:42

当玩家获胜时,你需要跳出这个循环。所以win_check()应该返回玩家是否赢了,您可以在if语句中使用它。

代码语言:javascript
运行
AI代码解释
复制
def win_check(player_name, position):
    if WIN_SCORE == position:
        print(f"Congratulations!!! {player_name} won the Game")
        return True
    else:
        return False


def game_start():
    starting_title()

    player1_position = 0
    player2_position = 0

    player1_name, player2_name = players_name()
    while True:
        player_input_1 = input("Enter 'roll' to Roll the Dice").lower()
        dice_value = roll_the_dice()
        player1_position = snake_and_ladder(player1_name, player1_position, dice_value)
        if win_check(player1_name, player1_position):
            break
        player_input_2 = input("Enter 'roll' to Roll the Dice").lower()
        dice_value = roll_the_dice()
        player2_position = snake_and_ladder(player2_name, player2_position, dice_value)
        if win_check(player2_name, player2_position):
            break
票数 0
EN

Stack Overflow用户

发布于 2021-01-16 06:39:22

你有一个无限循环的while True。您需要在那里声明一个变量,并在每次移动后更新它的值。您可以使用您的win_check函数来返回condition的值。

代码语言:javascript
运行
AI代码解释
复制
while win_check()

在win_check中

代码语言:javascript
运行
AI代码解释
复制
if WIN_SCORE == position:
    print(f"Congratulations!!! {player_name} won the Game")
    return false
else
    return true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65747065

复制
相关文章
如何在 Python 中读取 .data 文件?
在本文中,我们将学习什么是 .data 文件以及如何在 python 中读取 .data 文件。
很酷的站长
2023/02/22
6.3K0
如何在 Python 中读取 .data 文件?
如何在python中惰性地读取文件?
惰性地读取,就是在读文件的时候,不是直接将整个文件读到内存之中,而是一行一行的读取。这对于读取如网页日志这样的贼大的文件来说,可以减少打开文件的响应时间以及所占用的内存。
灯珑LoGin
2022/10/31
2K0
Python Numpy 从文件中读取数据
测试文件内容(test1.txt) hello,123,nihao 8,9,10 io,he,no 测试代码 import numpy # dtype:默认读取数据类型,delimiter:分隔符 world_alcohol = numpy.genfromtxt("test1.txt", dtype=str, delimiter=",") # 数据结构 print(type(world_alcohol)) # 数据内容 print(world_alcohol) # 帮助文档 print(help(nump
山海散人
2021/03/03
4.5K0
如何在Java中逐行读取文件
本文翻译自How to read a file line by line in Java
ccf19881030
2020/11/24
10.8K0
python中读取文件的read、rea
 #读取文件所有内容,返回字符串对象,python默认以文本方式读取文件,遇到结束符读取结束。
py3study
2020/01/20
1.8K0
python读取txt文件中的数组
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139543.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/23
4.3K0
python读取txt文件中的json数据
txt文本文件能存储各式各样数据,结构化的二维表、半结构化的json,非结构化的纯文本。 存储在excel、csv文件中的二维表,都是可以直接存储在txt文件中的。
全栈程序员站长
2022/08/30
7.5K0
python读取txt文件中的json数据
Nodejs中读取文件目录中的所有文件
关于Nodejs中的文件系统即File System可以参考官方Node.js v12.18.1的文档File system
ccf19881030
2020/06/28
15.1K0
使用wget命令下载Google drive上的文件
此处的文件是指公开的文件,不需要输入密码也不需要登录Google drive即可获取的文件。
烤粽子
2021/07/07
9.2K0
Google drive copy File
Creates a copy of a file and applies any requested updates with patch semantics. Try it now.
拿我格子衫来
2022/01/24
4600
matlab读取mnist数据集(c语言从文件中读取数据)
mnist database(手写字符识别) 的数据集下载地:http://yann.lecun.com/exdb/mnist/。
全栈程序员站长
2022/08/01
5.2K0
matlab读取mnist数据集(c语言从文件中读取数据)
如何使用python读取txt文件中的数据
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139037.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
7.2K0
java pfx_如何在Java中读取.pfx文件的内容?
import java.security.cert.X509Certificate;
全栈程序员站长
2022/09/06
2.8K0
Google Drive 的信息检索
对于使用 Google 全家桶的公司,Google 文档类的信息泄露时常发生。出现这种情况主要的原因是文档的权限设置问题,用户可能将文档配置为 anyoneCanFind, anyoneWithLink, domainCanFind, domainWithLink,这四种权限都属于比较公开的权限。后两个属于在域内可以查看到文档,一般来说也是不提倡如此设置,尤其是文档中包含敏感信息的。
madneal
2023/09/21
2770
Google Drive 的信息检索
关于Python读取文件的路径中斜杠问题
最近用Python读取文件,发现有时候用 '\' 会报错,换成 '\\' 就不会报错。查了下资料发现,'\'是Python的转义字符,如果路径中存在'\t'或者'\r'这样的特殊字符,'\'就无法起到目录跳转的作用,因此报错。解决办法就是告诉系统'\'不是转义字符,'\\'就起这种作用,现给出一个示例。
py3study
2020/01/14
5K0
Python中,关于读取文件编码解码的问
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 94: illegal multibyte sequence
py3study
2020/01/15
1.9K0
用 Cyberduck下载 / 上传 Google Drive 大文件
用Google Colab训练模型时,可以将训练好的权重模型存储到Google Drive上,很方便。但是,将模型权重下载下来就特别麻烦。另外,上传bert模型和数据集也特别困难。尝试了一些方法,最好的方法是使用Cyberduck(就是下面这个鸭子),传输稳定,并且可以断点续传。
SeanCheney
2020/05/09
4.2K0
用 Cyberduck下载 / 上传 Google Drive 大文件
python 读取单文件夹中的图片文件信息保存到csv文件中
# -*- coding: utf-8 -*- # @Time : 2019-09-17 10:21 # @Author : scyllake import os import csv #要读取的文件的根目录 root_path=r'C:\Users\zjk\Desktop\整理后的图片' #将所有目录下的文件信息放到列表中 def get_Write_file_infos(path): # 文件信息列表 file_infos_list=[] # 遍历并写入文件信息
小海怪的互联网
2019/10/14
5.8K0
点击加载更多

相似问题

从Google Drive文件中读取文本

12

Google Drive读取python中的部分文件

10

Python无法更改保存在Google Drive文件流中的文件

117

Google Collab :从Google drive读取gsheet文件

130

如何从Google Drive读取txt文件?

258
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档