python - 在终端“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 控制台上运行它时,它工作得非常好
注意:上面给出的代码是代码的一部分,因此这里不会出现一些变量。
解决方案
好吧,我终于明白你想做什么了。。
使用字典会很有帮助。
vall = ['Name', 'time','availability','role']
values = [name3, s3, t3, r3]
dictionary = zip(vall,values)
dictionary = dict(dictionary)
推荐阅读
- vue.js - Bulma Navbar-burger 不折叠导航栏项目数据
- flutter - 如何将签名作为图像存储在 Firebase 存储中
- linux - 是否可以使用 linux 比较 .txt 文件中同一行的 2 个内容?
- r - Rdgal 不能很好地保存 shapefile
- io - 在 Fortran 中,如何在没有换行符的情况下将文本写入控制台?
- vb.net - 进度条未在单独的表单上更新
- javascript - 想知道特定脚本代码的含义是什么
- javascript - 表单提交后如何重新加载页面?
- javascript - 截断按句子分割的文本
- python - 从 Maya 发送并执行 maxscript 或 python 到 3ds Max