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

时间:2013-06-29 00:36:41

标签: python random python-3.x dice

我遇到了骰子滚轮程序的问题(现在是文本,但最终是图形)。除了我使用的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()

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

我认为input()没有达到预期效果。 input读取一行文本,然后执行它(作为python)。

我认为你想要的更像stdin.readline()。要使用它,您必须在顶部from sys import stdin,然后用input替换sys.readline()的所有出现。另请注意,这将在结尾处返回换行符,您必须考虑该换行符。