在终端"TypeError: cannot unpack non-iterable NoneType object"中运行代码时出错


def ran_keys(issue1,issue2=None):
ran_number = random.sample(data.keys(), 1)
for i in ran_number:
val1 = data.get(i)
n3, s3, t3, r3 = val1
if issue1 == r3:
return val1
else:
if Counter == 1:
ran_keys(first_issue,second_issue)
elif Counter == 2:
ran_keys(first_issue)

def random_mode():
if Counter == 1:
vall = ran_keys(first_issue,second_issue)
name3, s3, t3, r3 = vall
if r3 == first_issue or second_issue:
print('Random selected agent available for your issue = n')
print('{:<15}  {:<15}  {:<15}  {:<15}'.format('Name', 'Availability', 'Available Since', 'Role'))
print('{:<15}  {:<15}  {:<15}  {:<15}'.format(name3, s3, t3, r3))
else:
print('No agent found for your issue..........nTry Again..................')
main1()
elif Counter == 2:
vall = ran_keys(first_issue)
name3, s3, t3, r3 = vall
if r3 == first_issue:
print('Random selected agent available for your issue = n')
print('{:<15}  {:<15}  {:<15}  {:<15}'.format('Name', 'Availability', 'Available Since', 'Role'))
print('{:<15}  {:<15}  {:<15}  {:<15}'.format(name3, s3, t3, r3))
else:
print('No agent found for your issue..........nTry Again..................')
main1()

当我在终端上运行它时,此代码会给我一个错误。错误是:

File "C:/Users/Acer/Desktop/python_class/project/addCopy.py", line 295, in modes
random_mode()
File "C:/Users/Acer/Desktop/python_class/project/addCopy.py", line 264, in random_mode
name3, s3, t3, r3 = vall
TypeError: cannot unpack non-iterable NoneType object

但是当我在 Python 控制台上运行它时,它工作得很好

注意:上面给出的代码是代码的一部分,因此此处不会出现某些变量。

函数ran_keys返回 val1if issue1 == r3,但else条件中没有 return 语句,请尝试:

def ran_keys(issue1,issue2=None):
ran_number = random.sample(data.keys(), 1)
for i in ran_number:
val1 = data.get(i)
n3, s3, t3, r3 = val1
if issue1 == r3:
return val1
else:
if Counter == 1:
return ran_keys(first_issue,second_issue)
elif Counter == 2:
return ran_keys(first_issue)

好吧,我终于明白你想做什么了。

使用字典它会有所帮助。

vall = ['Name', 'time','availability','role']
values = [name3, s3, t3, r3]
dictionary = zip(vall,values)
dictionary = dict(dictionary)

相关内容

最新更新