亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python while 循環獲取多個輸入。兩種技術 - 失敗的情況?

Python while 循環獲取多個輸入。兩種技術 - 失敗的情況?

拉丁的傳說 2023-12-26 15:34:21
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)

這不是一個美女嗎?


查看完整回答
反對 回復 2023-12-26
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

從功能上來說,這兩種方法應該是相同的;我認為您提供的任何意見都不會導致他們的行為有所不同。

主要區別在于技術 #2 涉及代碼重復(您必須復制并粘貼輸入語句),這很糟糕,因為如果您現在需要更改提示,則需要在兩個位置進行更改。

name_in您可以通過不在循環之前進行初始化來稍微縮短技術 #1 的代碼,因為在循環體內分配它之前從未使用過它。


查看完整回答
反對 回復 2023-12-26
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

那么你可以使用類似的東西:


name_in = ''

while name_in != "something":

    name_in = input('enter name or "something"')

print(n_name)


查看完整回答
反對 回復 2023-12-26
  • 3 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號