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

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

У меня две станции: 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: как преобразовать список значений словарей в int / float из строки?
  • Самый эффективный способ поиска / поиска в огромном списке (python)
  • Как инициализировать словарь пустых списков в Python?
  • Python преобразует список пар в словарь
  • Как вернуть два значения из функции в Python?
  •  
    Interesting Posts for Van-Lav

    Версия Tcl / tk в установке Python

    wxPython UltimateListCtrl проверяет (tick) listitem программно

    Как открыть интерпретатор IPython в emacs?

    Инструмент для тестирования мутаций для Python 2.7

    Неправильно ли использовать встроенное имя функции в качестве атрибута или идентификатора метода?

    ImportError: нет модуля с хрустящими формами

    VTK отображает изображение окна в массив numpy

    указав «пропустить NA» при вычислении среднего значения столбца в фрейме данных, создаваемом Pandas

    Разберите html-код для всей веб-страницы, прокрученной вниз

    Tkinter: установите StringVar после события <Key>, включая нажатую клавишу

    PyQt5: как заставить QThread возвращать данные в основной поток

    Как преобразовать целочисленную метку времени в дату и время Python

    Как применить тему к приложению PyGTK

    Scrapy Not Returning Additonal Info из скребковой ссылки в элементе через запрос обратного вызова

    Измерение производительности в Python

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