Скрипт не срабатывает и выдает ошибку на простом while и if…elif

222 просмотра
0
0 Комментариев

country = input('Выберите Техас, Ирландия или Норвегия')
while country != 'Ирландия' or 'Норвегия' or 'Техас':
    country = input('Выберите Техас, Ирландия или Норвегия')
if country == 'Ирландия':
    print('Ирландия это круто!')
elif country == 'Норвегия':
    print('Норвегия это круто!')
elif country == 'Техас':
    print('Техас это круто!')


Добавить комментарий

2 Answers

Python Опубликовано 14.12.2018
0

У вас как я понимаю
SyntaxError: Non-ASCII character ‘\xd0’ in file t.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

попробуйте, для начала, в начало кода вставить:

#! /usr/bin/env python
# -*- coding: utf-8 -*-

Добавить комментарий
0

Вы неправильно понимаете построение логических выражений с помощью or.

while country != 'Ирландия' or 'Норвегия' or 'Техас':

Очевидно, вы ожидаете, что конструкция после while будет True, если country не равно ни одному слову из трёх перечисленных.

Однако, != принимает после себя только один аргумент. И с помощью or действие этого оператора нельзя расширить. Чтобы проверять равенство переменной одному из нескольких значений, используйте in

while country not in ['Ирландия', 'Норвегия', 'Техас']:

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up