Python 如何让程序引用内部随机结果并将其应用于列表以打印结果?
好的,我需要一些帮助。我正试图编写一个程序,在内部滚动一个骰子(randrange),它引用一个列表,然后将结果打印到屏幕上 示例:用户输入“1”,激活掷骰子。程序滚动2并检查列表以查看2的含义。2表示中等,所以它会打印“中等” 然而,我不知道在哪里可以找到这方面的教程(因为我甚至不知道我要搜索什么),我问的每个人都被这个问题弄糊涂了。所以我带着一套粘贴好的代码来找你。这里有一个粘贴箱,可以更好地查看:Python 如何让程序引用内部随机结果并将其应用于列表以打印结果?,python,random,dice,Python,Random,Dice,好的,我需要一些帮助。我正试图编写一个程序,在内部滚动一个骰子(randrange),它引用一个列表,然后将结果打印到屏幕上 示例:用户输入“1”,激活掷骰子。程序滚动2并检查列表以查看2的含义。2表示中等,所以它会打印“中等” 然而,我不知道在哪里可以找到这方面的教程(因为我甚至不知道我要搜索什么),我问的每个人都被这个问题弄糊涂了。所以我带着一套粘贴好的代码来找你。这里有一个粘贴箱,可以更好地查看: 可能是您可以利用此示例: import random def roll(num):
可能是您可以利用此示例:
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,所以它大部分只是一组简单的错误,对吗?我运行你的,它工作得很好,所以我想它只是由一些事情。好吧,那我就不那么难过了,哈!谢谢!读了一遍,好吧,所以大部分只是一组简单的错误,然后呢?我运行你的,它工作得很好,所以我想它只是由一些事情。好吧,那我就不那么难过了,哈!谢谢!好的,这就是你如何使用更面向词典的格式来处理这个问题的方法。。。好吧,知道这一点很有帮助,谢谢!好的,这就是你如何使用更面向词典的格式来处理这个问题的方法。。。好吧,知道这一点很有帮助,谢谢!