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 快乐。
我的程序滚动 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 快乐。