Python 2.7 控制流程
Python 2.7 Control Flow
我目前遇到了一个小问题:
我正在为我的机器人制作一个 "command",一个小密码生成器,目前,我已经有了命令本身,它会像这样
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。
谢谢
根据你所拥有的,尝试:
length = Argument[0] if len(Argument)>0 and Argument[0] is not None else 12
假设 Argument
是一个列表,您可以尝试检索长度值,如果 Argument
为空,即引发 IndexError
给 length
所需的值默认值:
try:
length = Argument[0]
except IndexError as error:
length = 12
处理其他类型的错误输入,例如负值,None
值,使用简单的 if
语句或三元赋值就足够了。
我目前遇到了一个小问题: 我正在为我的机器人制作一个 "command",一个小密码生成器,目前,我已经有了命令本身,它会像这样
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。 谢谢
根据你所拥有的,尝试:
length = Argument[0] if len(Argument)>0 and Argument[0] is not None else 12
假设 Argument
是一个列表,您可以尝试检索长度值,如果 Argument
为空,即引发 IndexError
给 length
所需的值默认值:
try:
length = Argument[0]
except IndexError as error:
length = 12
处理其他类型的错误输入,例如负值,None
值,使用简单的 if
语句或三元赋值就足够了。