为什么这个程序不能在shell中工作,而是在我的IDE中工作?

2024-06-01 02:48:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个骰子辊程序的问题(文本现在,但最终图形)。除了我使用的IDE Wing IDE 101 4.1之外,它在任何情况下都不能工作。我得到的错误闪烁太快,我读不懂,但我会尝试采取它的截图。(如果我有截图,我会编辑这篇文章。)

程序如下:

import random


#variables

available_dice = "D20"
main_pgm_start = False

#definitions of functions

def diePick():
    print("Pick a die. Your choices are: ", available_dice)
    print("")
    which_dice = input("")

    if which_dice == "D20" or which_dice == "d20":
        rollD20()    
    else:
        print("Error: Please try again")
        print("")
        diePick()    

def rollD20():
    print("Rolling D20 .... ")
    print("")
    d20_result = random.randrange(1, 20)
    print("You have rolled a ", d20_result)
    print("")
    print("Would you like to roll again?")
    print("")
    y = input("")
    if y == "y" or y == "Y" or y == "yes" or y == "Yes":
        print("")        
        diePick()



def MainProgram():
    print("Benjamin Ward's Random D&D Dice Roller")
    print("")
    x = input("  Press Enter to Continue")
    print("")
    diePick()


MainProgram()

Tags: or程序whichinputifdefrandomdice
2条回答

我不认为input()做了您期望的事情。input读取一行文本,然后执行它(如python)。你知道吗

我认为你想要的是更符合stdin.readline()的思路。要使用它,必须在顶部from sys import stdin,然后用sys.readline()替换所有出现的input。还要注意,这将在末尾返回一个换行符,您必须对此进行说明。你知道吗

如果我的内存可用,您可以使用“logging”模块将日志重定向到文本文件。你知道吗

相关问题 更多 >