Python定义参数问题

Python define parameter issues

我的程序滚动 n 根据输入而死,但一次只做一次。试着让它回到 d20() 和 if 中的另一个,但似乎没有做任何事情。

import random

min = 1;
print "1. d20 \n2. d12 \n3. d10 \n4. d8 \n5. d6 \n6. d \n7. d100"
command = raw_input("Function: ")


def d20(n):
    done = 0
    if n>done:
      print random.randint(min, 20)
      done = done + 1
    elif n==done :
     print 'finished'

if command == "d20" or command == "1":
    die = raw_input("How many die? ")
    int(die)
    d20(die)
else:
    print 'else'

我觉得你问的是如何重运行 d20 n 次,其中 n 是你选择的骰子数.

这不是 if 语句的工作,而是 for 循环的工作。

import random
min_value = 1
print "1. d20 \n2. d12 \n3. d10 \n4. d8 \n5. d6 \n6. d \n7. d100"
command = raw_input("Function: ")

def d20(n):
    for i in range(n):
        print random.randint(min_value, 20)

if command == "d20" or command == "1":
    die = raw_input("How many dice? ")
    n = int(die)
    d20(n)
else:
    print 'else'

输出:

Function: 1
How many dice? 3
5
17
13

我还将名称从 min 更改为 min_value 因为 min 是一个 python 内置函数 returns可迭代的,你不应该重新分配它。你也不需要 ; 那里。

还要注意 n = int(die) 不是 一个安全的命令,没有任何东西可以保证你会在那里写一个整数。如果你写了一个不能转换为整数的字符串(即 "a"),python 将引发异常。

dnd 快乐。