Python 2.7控制流程

时间:2015-03-10 11:42:07

标签: python python-2.7 controls flow password-generator

我目前有一点问题: 我正在做一个"命令"对于我的机器人,一个小密码生成器,目前,我已经有了命令本身,它会像这样去

if Command.lower() == '!pwgen' #First message, the user calls the command
length = Argument[0] #The length he wants, Argument[0] == the length
import os, random, string 
length = 13
chars = string.ascii_letters + string.digits + '!@#$%^&*()'
random.seed = (os.urandom(1024))
password = ''.join(random.choice(chars) for i in range(length))
messages.Main(password,xSock,BotID)

有我的问题,我想确保,如果参数为空,我希望密码生成器使用默认数字,例如12如果用户没有给出长度,则长度为12。 感谢。

2 个答案:

答案 0 :(得分:2)

假设Argument是一个列表,您可以尝试检索长度的值,如果Argument为空,则提出IndexErrorlength所需的默认值:

try:
    length = Argument[0]
except IndexError as error:
    length = 12

处理其他类型的错误输入,例如使用简单None语句或三元分配的负值,if值应该足够了。

答案 1 :(得分:1)

根据您所拥有的内容,尝试:

length = Argument[0] if len(Argument)>0 and Argument[0] is not None else 12