我是python的初學者。我正在嘗試創建一個程式,其中一部分需要用戶輸入坐標,然后將它們存盤在字典中。一旦用戶寫了“END”,我希望它停止要求輸入。但是,當我運行這段特定的代碼時,它不會在您輸入 END 時關閉。
dict_coord = {} #empty dictionary for coordinates users input
coord_no = 0
coord_no = 1
coord = input('Enter coordinate {}: '.format(coord_no)).split(',')
dict_coord[coord_no] = coord
while coord != 'END':
coord_no = 1
coord = input('Enter coordinate {}: '.format(coord_no)).split(',')
dict_coord[coord_no] = coord
uj5u.com熱心網友回復:
關于什么:
dict_coord = {} #empty dictionary for coordinates users input
coord_no = 0
while True:
coord_no = 1
userInput = input('Enter coordinate {}: '.format(coord_no))
if userInput == "END":
break
dict_coord[coord_no] = userInput.split(',')
uj5u.com熱心網友回復:
.split()回傳一個陣列,因此您需要在條件中參考陣列中的第一個元素,如下所示:
dict_coord = {} #empty dictionary for coordinates users input
coord_no = 0
coord_no = 1
coord = input('Enter coordinate {}: '.format(coord_no)).split(',')
dict_coord[coord_no] = coord
while coord[0] != 'END':
coord_no = 1
coord = input('Enter coordinate {}: '.format(coord_no)).split(',')
dict_coord[coord_no] = coord
uj5u.com熱心網友回復:
拆分回傳一個串列,因此它永遠不會等于'END'(字串)。
print("END".split(",") == "END") # False
print("END".split(",") == ["END"]) # True
uj5u.com熱心網友回復:
你可以在用戶進入 end 時說 break。所以它可能看起來像這樣:
while True:
coord_no = 1
coord = input('Enter coordinate {}: '.format(coord_no)).split(',')
dict_coord[coord_no] = coord
if coord == "END":
break
uj5u.com熱心網友回復:
固定代碼是
dict_coord = {} #empty dictionary for coordinates users input
coord_no = 0
coord_no = 1
coord = input('enter coordinate ' str(coord_no) ':')
dict_coord[coord_no] = coord
while coord != 'end':
coord_no = 1
coord = input('enter coordinate ' str(coord_no) ':')
dict_coord[coord_no] = coord
print(coord)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453526.html
標籤:Python python-3.x
