Python 如何让程序引用内部随机结果并将其应用于列表以打印结果?

Python 如何让程序引用内部随机结果并将其应用于列表以打印结果?,python,random,dice,Python,Random,Dice,好的,我需要一些帮助。我正试图编写一个程序,在内部滚动一个骰子(randrange),它引用一个列表,然后将结果打印到屏幕上 示例:用户输入“1”,激活掷骰子。程序滚动2并检查列表以查看2的含义。2表示中等,所以它会打印“中等” 然而,我不知道在哪里可以找到这方面的教程(因为我甚至不知道我要搜索什么),我问的每个人都被这个问题弄糊涂了。所以我带着一套粘贴好的代码来找你。这里有一个粘贴箱,可以更好地查看: 可能是您可以利用此示例: import random def roll(num):

好的,我需要一些帮助。我正试图编写一个程序,在内部滚动一个骰子(randrange),它引用一个列表,然后将结果打印到屏幕上

示例:用户输入“1”,激活掷骰子。程序滚动2并检查列表以查看2的含义。2表示中等,所以它会打印“中等”

然而,我不知道在哪里可以找到这方面的教程(因为我甚至不知道我要搜索什么),我问的每个人都被这个问题弄糊涂了。所以我带着一套粘贴好的代码来找你。这里有一个粘贴箱,可以更好地查看:


可能是您可以利用此示例:

import random

def roll(num):
    return  {
        1: "Small",
        2: "Medium",
        3: "Large",
        4: "Huge",
        5: "Huge+",
        6: "Huge++"
    }[num]

print roll(random.randrange(1, 7))

可能是您可以利用此示例:

import random

def roll(num):
    return  {
        1: "Small",
        2: "Medium",
        3: "Large",
        4: "Huge",
        5: "Huge+",
        6: "Huge++"
    }[num]

print roll(random.randrange(1, 7))

除了一些小细节之外,您的代码看起来还不错

这些是:

  • 如果numberr==x:行不应缩进,因为它们不是 一个新街区

  • 进行测试时,如果数字==1:

  • 如果,则需要一个冒号来表示
    (您知道,但在某些情况下缺少冒号)
    线路)

  • 原始输入
    原始输入

  • 关于“测试”的引述

以下是这些修复程序的代码:

import random

def Main() :

    print "TESTING"
    print
    print
    print "1 1d4"

    sum = raw_input("> ")

    if sum == '1':
        numberr = random.randrange(1, 5)
        if numberr == 1:
            print "Small"
        elif numberr == 2:
            print "Medium"
        elif numberr == 3:
            print "Large"
        elif numberr == 4:
            print "Huge"

while 1:
    input = raw_input("Press Enter to continue or q to quit").upper()
    if input == 'Q': break
    elif input == '' : Main()
所以我想说你似乎已经做对了


(Vishal的建议也很好)

除了一些小细节之外,您的代码看起来还不错

这些是:

  • 如果numberr==x:行不应缩进,因为它们不是 一个新街区

  • 进行测试时,如果数字==1:

  • 如果,则需要一个冒号来表示
    (您知道,但在某些情况下缺少冒号)
    线路)

  • 原始输入
    原始输入

  • 关于“测试”的引述

以下是这些修复程序的代码:

import random

def Main() :

    print "TESTING"
    print
    print
    print "1 1d4"

    sum = raw_input("> ")

    if sum == '1':
        numberr = random.randrange(1, 5)
        if numberr == 1:
            print "Small"
        elif numberr == 2:
            print "Medium"
        elif numberr == 3:
            print "Large"
        elif numberr == 4:
            print "Huge"

while 1:
    input = raw_input("Press Enter to continue or q to quit").upper()
    if input == 'Q': break
    elif input == '' : Main()
所以我想说你似乎已经做对了


(Vishal的建议也很好)

试试这样的方法:

import random

myNum = ({1:'Small', 2:'Medium', 3:'Large', 4:'Huge'})

def main():
    mysum = raw_input("> ")
    if mysum == '1':
        numberr = random.randrange(1,5)
        print(myNum[numberr])

while 1:
    myinput = raw_input("Press Enter to continue or q to quit")
    if myinput == 'Q':
        break
    elif myinput == '' :
        main()

命名变量名时要小心保留关键字

试试这样的方法:

import random

myNum = ({1:'Small', 2:'Medium', 3:'Large', 4:'Huge'})

def main():
    mysum = raw_input("> ")
    if mysum == '1':
        numberr = random.randrange(1,5)
        print(myNum[numberr])

while 1:
    myinput = raw_input("Press Enter to continue or q to quit")
    if myinput == 'Q':
        break
    elif myinput == '' :
        main()

命名变量名时要小心保留关键字

我有一种感觉,我可能必须研究字典,但我不确定是否有必要。你的感觉很对。您应该执行类似于myNum=({1:'Small',2:'Medium',3:'Large',4:'mage')的操作,而不是
if
s
-尝试检查以下内容:
原始输入
?此外,用户的输入位于名为
sum
的变量中?此外,您的检查需要在
if/elif
的末尾添加
==
而不是
=
。为什么不把你的代码粘贴在这里而不是打印出来呢。也不确定你的问题是什么,你想要什么,你有什么?好的……但是……我如何让它在翻阅后打印词典结果?我正在阅读那个文档,但是…我不知道如何应用它…@rm我确实将它粘贴到了这里,但直到我完成了整个“4个空格”的工作,它才将它识别为代码。我是新来的,所以我可能错过了一些东西。我想他们需要==但代码无论如何都不起作用,所以我想我应该试一试。我觉得我可能需要研究字典,但我不确定是否有必要。你的感觉很正确。您应该执行类似于myNum=({1:'Small',2:'Medium',3:'Large',4:'mage')的操作,而不是
if
s-尝试检查以下内容:
原始输入
?此外,用户的输入位于名为
sum
的变量中?此外,您的检查需要在
if/elif
的末尾添加
==
而不是
=
。为什么不把你的代码粘贴在这里而不是打印出来呢。也不确定你的问题是什么,你想要什么,你有什么?好的……但是……我如何让它在翻阅后打印词典结果?我正在阅读那个文档,但是…我不知道如何应用它…@rm我确实将它粘贴到了这里,但直到我完成了整个“4个空格”的工作,它才将它识别为代码。我是新来的,所以我可能错过了一些东西。我想他们需要==但代码无论如何都不起作用,所以我想我应该试试。
random.randrange(1,6)
永远不会返回
6
random.randrange(1,6)
永远不会返回
6
。读过ok,所以它大部分只是一组简单的错误,对吗?我运行你的,它工作得很好,所以我想它只是由一些事情。好吧,那我就不那么难过了,哈!谢谢!读了一遍,好吧,所以大部分只是一组简单的错误,然后呢?我运行你的,它工作得很好,所以我想它只是由一些事情。好吧,那我就不那么难过了,哈!谢谢!好的,这就是你如何使用更面向词典的格式来处理这个问题的方法。。。好吧,知道这一点很有帮助,谢谢!好的,这就是你如何使用更面向词典的格式来处理这个问题的方法。。。好吧,知道这一点很有帮助,谢谢!