Python定义参数问题

2024-05-19 14:14:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序根据输入进行滚动,但每次只能打开。尝试让它返回到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'

Tags: import程序inputrawifrandomminelse
1条回答
网友
1楼 · 发布于 2024-05-19 14:14:16

我觉得你要问的是如何重新运行d20n次,其中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内置函数,它返回的iterable值最小,您不应该重新赋值。你也不需要;在那里。你知道吗

还要注意,n = int(die)不是一个安全的命令,不能保证在那里写一个整数。如果您编写的字符串不能转换为整数(即“a”),python将引发异常。你知道吗

祝你好运。你知道吗

相关问题 更多 >