Сравнить значения в одном списке

Для школы у меня есть задание сделать, но я не знаю, что делать.

У меня две станции: startStation (начало) и eindStation (конец). Сначала мне нужно было проверить, есть ли они или нет в списке станций. Все прошло хорошо. Теперь, однако, я должен проверить, входит ли в тот же список eindStation после beginStation.

stations_place = {"Schagen" : 1, "Heerhugowaard" : 2, "Alkmaar" : 3, "Castricum" : 4, "Zaandam" : 5, "Amsterdam Sloterdijk" : 6, "Amsterdam Centraal" : 7, "Amsterdam Amstel" : 8, "Utrecht Centraal" : 9, "'s-Hertogenbosch" : 10, "Eindhoven" : 11, "Weert" : 12, "Roermond" : 13, "Sittard" : 14, "Maastricht" : 15} eindStation = str(input("What is your end station? ")) if eindStation in stations_place: print("good") #just to check if the code does it's job here else : print("This station isn't available, endstation is: Maastricht") if eindStation >= beginStation in stations_place.values: print("good") #just to check if the code does it's job here else: print("This station isn't available, endstation is: Maastricht") 

Надеюсь, вы, ребята, можете мне помочь. Заранее спасибо!

3 Solutions collect form web for “Сравнить значения в одном списке”

beginStation вам нужно попросить beginStation .
Вот один из способов:

 stations_place = {"Schagen" : 1, "Heerhugowaard" : 2, "Alkmaar" : 3, "Castricum" : 4, "Zaandam" : 5, "Amsterdam Sloterdijk" : 6, "Amsterdam Centraal" : 7, "Amsterdam Amstel" : 8, "Utrecht Centraal" : 9, "'s-Hertogenbosch" : 10, "Eindhoven" : 11, "Weert" : 12, "Roermond" : 13, "Sittard" : 14, "Maastricht" : 15} eindStation = str(input("What is your end station? ")) if eindStation in stations_place: print("good") #just to check if the code does it's job here else : print("This station isn't available, endstation is: Maastricht") beginStation = str(input("What is your Starting station? ")) if stations_place[eindStation] >= stations_place[beginStation]: print("good") #just to check if the code does it's job here else: print("This station isn't available, endstation is: Maastricht") 

Изменить: Это> = действительно должно быть>, поскольку никто не хочет путешествовать от a до a 🙂

Я думаю, что startStation также запрашивается у пользователя, так же как и eindStation , правильно?

Если да, то вы можете сделать первую проверку, чтобы проверить также startStation. например:

 if (eindStation in stations_place) and (beginStation in stations_place): 

И тогда последний, если бы мог:

 if stations_place[eindStation] >= stations_place[beginStation]: 

Надеюсь это поможет.

Я не могу не думать, что определение stations_place в вашем коде как list а не dictionary будет лучше для ваших целей.
list «упорядочен», в то время как dictionary не является. В вашем случае станции упорядочены, так как они никогда не меняют позицию, поэтому выбор упорядоченной структуры данных имеет смысл.
Это облегчает жизнь, если вы хотите расширить свой код.
т.е.

 stations_place = ["Schagen","Heerhugowaard","Alkmaar","Castricum","Zaandam","Amsterdam Sloterdijk", "Amsterdam Centraal","Amsterdam Amstel","Utrecht Centraal","'s-Hertogenbosch","Eindhoven","Weert","Roermond","Sittard","Maastricht"] result = False while result == False:#Keep asking until a valid start station is input fromText ="" for i in stations_place:#Build text station list fromText += i+" > " print (fromText+"\n") beginStation = str(input("What is your Starting station? ")) if beginStation in stations_place: result = True else: print("This station isn't available, Starting station is:",stations_place[0],"\n")#first list item result = False while result == False:#Keep asking until a valid end station is input fromS = stations_place.index(beginStation)# Get index of start station fromText ="" for i in stations_place[fromS:]:#Build text list of following stations fromText += i+" > " print (fromText+"\n") eindStation = str(input("What is your end station? ")) if eindStation in stations_place: result = True else : print("This station isn't available, End station is:",stations_place[-1]+"\n")#Last list item if stations_place.index(eindStation) > stations_place.index(beginStation):#Check index values print("Your journey is valid") elif stations_place.index(eindStation) == stations_place.index(beginStation):#Check index values print("Your Start and End stations are the same") else: print("Your end station is before the start station") print("Use the other platform for the other direction") Schagen > Heerhugowaard > Alkmaar > Castricum > Zaandam > Amsterdam Sloterdijk > Amsterdam Centraal > Amsterdam Amstel > Utrecht Centraal > 's-Hertogenbosch > Eindhoven > Weert > Roermond > Sittard > Maastricht > What is your Starting station? Alkmaar Alkmaar > Castricum > Zaandam > Amsterdam Sloterdijk > Amsterdam Centraal > Amsterdam Amstel > Utrecht Centraal > 's-Hertogenbosch > Eindhoven > Weert > Roermond > Sittard > Maastricht > What is your end station? Zaandam Your journey is valid 

Как одно из примечаний, Рубен один из ваших одноклассников, потому что вариант этого вопроса уже находится на трассировочной машине SO Python , поэтому будьте осторожны, ваш учитель может найти этот запрос, так как это первый элемент из моей поисковой системы с запросом " python zaandam station ".

  • Как читать в файле в словаре
  • Проверьте, находятся ли два элемента в списке в определенном порядке?
  • Ошибка памяти списка Python
  • Как отсортировать список с положительными значениями перед негативами со значениями, отсортированными соответственно?
  • Доступ к элементам в списках в словаре python
  • Выбор случайных списков в python
  • Python Сортировка списка на основе заданного порядка
  • Есть ли способ обходить Python list.append (), становясь все медленнее в цикле, когда список растет?
  • Получение последнего элемента списка в Python
  • Python - Инициализация нескольких списков / строк
  • Преобразование чисел в классы в списке python
  •  
    Interesting Posts for Van-Lav

    как я могу удалить уведомления и предупреждения из браузера? selenium python 2.7.7

    Где можно скачать бинарные яйца с psycopg2 для Windows?

    Разница между флажками командной строки «проверка» и «интерактивная» в Python

    python xgboost на mac install

    Модуль бутылки Python вызывает «Ошибка: 413 Request Entity Too Large»

    Python перечисляет только обратный индекс

    Как увеличить скорость python над циклами?

    Matplotlib, так что ось журнала имеет только незначительные метки меток в указанных точках. Также измените размер ярлыков меток в colorbar

    Эквивалент Python для BitSet для Java

    Лучший способ инициализировать и заполнить массив numpy?

    Добавить атрибуты в Networkx write_graphml перед открытием в Gephi

    Изменение имени хоста в URL-адресе

    Открыть графический файл из другого файла PyQT

    Как запустить сценарий оболочки без нажатия клавиши ввода / подтверждения. между

    Как избежать Python / Pandas, создающего индекс в сохраненном csv?

    Python - лучший язык программирования в мире.