Python:下面的两个代码示例都使用 while 循环来允许多个输入。到目前为止,两者都为我工作。未来,什么情况会导致一种技术相对于另一种技术失败?print( "Technique #1 - *while True:*")name_in = ''while True: name_in = input('enter name or "done"') if name_in=='done': break print(name_in) #do some taskprint( " Technique #2 - *while expression:*")name_in = input('enter name or "done"') # first timewhile name_in != 'done': print(name_in) #do some task name_in = input('enter name or "done"') #subsequents
3 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
Python 3.8 引入了walrus operator :=
# Loop-and-a-half (see https://www.python.org/dev/peps/pep-0572/#capturing-condition-values)
while (name_in := input('enter name or "done"')) != "done":
print(name_in)
这不是一个美女吗?
有只小跳蛙
TA贡献1824条经验 获得超8个赞
从功能上来说,这两种方法应该是相同的;我认为您提供的任何意见都不会导致他们的行为有所不同。
主要区别在于技术 #2 涉及代码重复(您必须复制并粘贴输入语句),这很糟糕,因为如果您现在需要更改提示,则需要在两个位置进行更改。
name_in
您可以通过不在循环之前进行初始化来稍微缩短技术 #1 的代码,因为在循环体内分配它之前从未使用过它。
月关宝盒
TA贡献1772条经验 获得超5个赞
那么你可以使用类似的东西:
name_in = ''
while name_in != "something":
name_in = input('enter name or "something"')
print(n_name)
添加回答
举报
0/150
提交
取消