好吧,所以我有一個程序,有四個不同的城市,每個城市都有距離。該計劃將詢問用戶他們想要計算哪些城市,並且它將以英里返回兩個城市之間的距離。現在我有一個工作循環,要求用戶輸入城市1,然後輸入城市2,一旦完成該程序將返回兩個城市之間的距離。然而,我然後試圖做同樣的事情,但要求用戶選擇三個不同的城市,然後返回三個城市之間的距離。代碼字面上是相同的,除了一個返回「int對象不可下載」Int對象不是可訂閱的
我將首先粘貼代碼,該代碼用於循環兩次問題並輸出文本。然後,我將粘貼一個我已經修改它的地方三次循環,並嘗試以英里輸出三個城市的距離。
我的城市和距離代碼
cities=["Coventry", "Birmingham", "Wolverhampton", "Leicester"]
distances=[
[0,25,33,24],
[25,0,17,42],
[33,17,0,54],
[24,42,54,0]]
工作兩個城市代碼
def distancestwo():
choices=[0,1]
for j in range(2): #This will loop twice, hence giving the option for two cities. More could be added!
for i in range(len(cities)):
p.write ("%d : %s\n" %(i, cities[i]))
p.write("\nEnter city number %d: \n"%(j+1))
choices[j]=p.nextInt()
p.write("\n") #Leaves a line for the output of the distance
p.write("The distance between %s and %s is \n%d miles!\n"\
% (cities[choices[0]], cities [choices[1]],distances [choices[0]] [choices[1]]))
這一次卻返回的對象不標化
def distancesthree():
choices=[0,1,2]
for j in range(3): #This will loop three times
for i in range(len(cities)):
p.write ("%d : %s\n" %(i, cities[i]))
p.write("\nEnter city number %d: \n"%(j+1))
choices[j]=p.nextInt()
p.write("\n") #Leaves a line for the output of the distance
p.write("The distance between %s ,%s and %s is \n %d miles!\n"\
% (cities[choices[0]], cities [choices[1]], cities [choices[2]],distances [choices[0]] [choices[1]] [choices[2]]))
什麼是「城市」?它在哪裏定義? –
對不起,我將更新 – Daniel
@MaximeLorant新增 – Daniel