我正在处理一个赋值,while循环总是遇到麻烦。下面从图像上的第一个数字开始画一条线,然后到输入的下一个数字。它也循环这个,但每次都要求第一个和第二个数字,而不是去下一个等等。
有人能帮我吗?
def level1():
cityXvalue = [45,95,182,207,256,312,328,350,374,400]
cityYvalue = [310,147,84,201,337,375,434,348,335,265]
# Display the map image
map = makePicture("C:/Users/glarm/OneDrive/Documents/RMIT/Introduction to programming/Assignments/Assingment 2/map.png")
show(map)
numCities=requestInteger("Enter the number of cities you wish to visit:")
counter=0
# Draw a line between previously entered point and current one
while numCities > 0:
currentCity = requestInteger("Enter the city you would like to visit")
previousCity = requestInteger("Enter the city you would like to visit next")
#currently asking for first city then the next but you need to enter the previous city before the next...
startX = currentCity
startY = currentCity
endX = previousCity
endY = previousCity
addLine(map, cityXvalue[startX], cityYvalue[startY], cityXvalue[endX], cityYvalue[endY])
counter=counter+1
repaint(map)
我想明白了,这就是代码。。。
def maplevel1():
cityXvalue = [45,95,182,207,256,312,328,350,374,400]
cityYvalue = [310,147,84,201,337,375,434,348,335,265]
# Display the map image
map = makePicture("C:/Users/glarm/OneDrive/Documents/RMIT/Introduction to programming/Assignments/Assingment 2/map.png")
show(map)
numCities=requestInteger("Enter the number of cities you wish to visit:")
counter=0
# Draw a line between previously entered point and current one
while numCities > 0:
startCity = requestInteger("Enter the city you would like to visit")
nextCity = requestInteger("Enter the city you would like to visit next")
startX = startCity
startY = startCity
endX = nextCity
endY = nextCity
addLine(map, cityXvalue[startX], cityYvalue[startY], cityXvalue[endX], cityYvalue[endY])
counter=counter+1
repaint(map)
while counter>0:
startCity=nextCity
nextCity=requestInteger("Enter the city you would like to visit next")
startX = startCity
startY = startCity
endX = nextCity
endY = nextCity
addLine(map, cityXvalue[startX], cityYvalue[startY], cityXvalue[endX], cityYvalue[endY])
repaint(map)