簡體   English   中英

從清單中拉出

[英]Pulling from a list

我的問題是關於讓用戶從列表中拉出物品。 如果列表中的項目沒有從列表中拉出,我想告訴用戶他不正確。 所以我的代碼看起來像這樣:

Body_Type = ['Large', 'Medium', 'Small']

print('Create a Character-')

print('Body Type Choices: ' + str(Body_Type))
bt = input('Enter your Body Type: ')
while bt != Body_Type:
    if bt == Body_Type[0:]:
        print('Your Body Type is: ' + bt)

else:
        print('Invalid Body Type')

我想做的是讓我的用戶創建一個角色。 這只是我的第一個簡單項目的第一部分。 我想讓他從清單中的一項中拉出,分別是“大,中,小”。 我希望重復進行直到用戶選擇三個。 我嘗試使用or但似乎感覺沒有組織,因此我不得不拆開列表並分配每個變量。

提前致謝!

這里有一些錯誤,例如將字符串與列表進行比較,或者隨機切片以希望它可以工作。 而且您的輸入語句在循環之前會創建一個無限循環,因為您要一次又一次地比較兩個不同類型的變量( bt != Body_Type始終為True而不考慮bt的內容,因為左手是一個字符串,右手是列表)。

但是編寫一些工作代碼並不應該那么復雜。

我將創建一個無限循環,並且僅當選擇在列表中時才會中斷:

while True:
    bt = input('Enter your Body Type: ')
    if bt in Body_Type:
        print('Your Body Type is: ' + bt)
        break
    else:
        print('Invalid Body Type')

更簡單明了(如果失敗,則重復輸入)。 無限循環(始終為真條件)可以避免重復輸入調用和測試。 循環播放,輸入字符串,如果匹配則中斷循環。

您要查找的關鍵語句是bt in Body_Type中的bt in Body_Type它測試字符串是否在列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM