Python 根据更改/删除更改的状态打印字典中的列表
以下是我正在尝试的,不确定我把事情搞砸了。我在底部有预期的输出。有人能就这里的问题提供意见吗Python 根据更改/删除更改的状态打印字典中的列表,python,Python,以下是我正在尝试的,不确定我把事情搞砸了。我在底部有预期的输出。有人能就这里的问题提供意见吗 在字典中为每个主更改及其从属更改创建列表 重复步骤1,直到depchange状态不是新的 我的代码: def depchange(change): depchange_status='' if change == "23456": depchange=33456 depchange_status == 'NEW' if change == "334
def depchange(change):
depchange_status=''
if change == "23456":
depchange=33456
depchange_status == 'NEW'
if change == "33456":
depchange=""
depchange_status == 'COMPLETED'
return (depchange,depchange_status)
def main ():
master_change="23456"
dep={}
while True:
dep_change,depchange_status=depchange(master_change)
master_change = dep_change
dep[master_change]=dep_change
if depchange_status != 'NEW':
break
print dep
if __name__ == '__main__':
main()
'''
EXPECTED OUTPUT:-
dep = {
'23456': ['33456'],
'33456': [],
}
'''
交换这两行的顺序。您想在
dep
的赋值中使用master\u change
的旧值
master_change = dep_change
dep[master_change]=dep_change
另外,在一些作业中,您有==
而不是=
depchange_status == 'NEW'
depchange_status == 'COMPLETED'
交换这两行的顺序。您想在
dep
的赋值中使用master\u change
的旧值
master_change = dep_change
dep[master_change]=dep_change
另外,在一些作业中,您有==
而不是=
depchange_status == 'NEW'
depchange_status == 'COMPLETED'
呃,在你的depchange()函数中,你实际上是想比较depchange\u的状态,还是想改变它们?你在那里有“==”
在同一个函数中,depchange从一个字符串切换到一个int。我假设您希望它保持为一个字符串
def depchange(change):
depchange_status=''
if change == "23456":
depchange="33456"
depchange_status = 'NEW'
if change == "33456":
depchange=""
depchange_status = 'COMPLETED'
return (depchange,depchange_status)
def main ():
master_change="23456"
dep={}
while True:
dep_change,depchange_status=depchange(master_change)
dep[master_change]=[dep_change]
master_change = dep_change
if depchange_status != 'NEW':
break
print dep
if __name__ == '__main__':
main()
呃,在你的depchange()函数中,你实际上是想比较depchange\u的状态,还是想改变它们?你在那里有“==”
在同一个函数中,depchange从一个字符串切换到一个int。我假设您希望它保持为一个字符串
def depchange(change):
depchange_status=''
if change == "23456":
depchange="33456"
depchange_status = 'NEW'
if change == "33456":
depchange=""
depchange_status = 'COMPLETED'
return (depchange,depchange_status)
def main ():
master_change="23456"
dep={}
while True:
dep_change,depchange_status=depchange(master_change)
dep[master_change]=[dep_change]
master_change = dep_change
if depchange_status != 'NEW':
break
print dep
if __name__ == '__main__':
main()
有更多的
可读的
代码,变量名称之间不要相差一个下划线。有更多的可读的
代码,变量名称之间不要相差一个下划线。这解决了我的问题,但while循环似乎不起作用。。我仍然没有看到“'33456':[],”正在打印…33456是一个状态为“新”的从属更改。。。此外,33456没有任何依赖项,因此while循环应该在此停止,这是我问题的固定部分,但while循环似乎不起作用。。我仍然没有看到“'33456':[],”正在打印…33456是一个状态为“新”的从属更改。。。此外,33456没有任何依赖项,所以while循环应该停止here@Trueerror-我看到值未打印为列表..当前它们打印为{'33456':'','23456':'33456'}..如何将值打印为列表?@Trueerror-我看到值未打印为列表..当前它们打印为{'33456':'','23456':'33456'}..如何使值成为列表?