Как в python с помощью условного оператора сделать программу, которая понимала бы русский и английский вариант

В программе определена функция, рисующая пирамиду, принимающая на вход три параметра - цвета каждой из ступеней фигуры. Как сделать так, чтобы программа понимала русский и английский вариант следующих цветов: красный (red), синий (blue), зеленый (green), желтый (yellow) с помощью логического оператора or?

когда пользователь вводит к примеру "red" - программа работает как нужно. Но как мне сделать так, чтобы слово "красный" так же как и "red" передавалось в функцию,

from turtle import*

a = input("Цвет первой полосы")
b = input("Цвет второй полосы")
c = input("Цвет третьей полосы")

def pyramid(c1, c2, c3):
    color(c1)
    width(50)
    penup()
    goto(-100, -100)
    pendown()
    forward(200)
    penup()
    goto(60, -50)
    pendown()
    left(180)
    color(c2)
    forward(120)
    color(c3)
    penup()
    goto(-30, 0)
    pendown()
    left(180)
    forward(60)

pyramid(a,b,c)
exitonclick()

Ответы (5 шт):

Автор решения: Vadim.Sharoikin

можно так

color_red=["red","красный"]
input_text = input('Введите ваш текст: ')


if input_text in color_red:
    c = "red"
else:
    print(False)

еще можно строкой

input_text = input('Введите ваш текст: ')
color_red_1="red красный"

if input_text in color_red_1.split():
    print(True)
else:
    print(False)

как предложили в комментариях

input_text = input('Введите ваш текст: ')

if input_text == 'red' or input_text =='красный':
    print(True)
else:
    print(False)

UPD для передачи в функцию

input_text = input('Введите ваш текст: ')
input_text1 = input('Введите ваш текст: ')

#создаем словарь всех нужных цветов
colors = {
    'red': 'красный red',
    'green': 'зеленый green',
}

#получаем введенный цвет
def color(input_text):
    for (key, value) in colors.items():
        for a in value.split():
            if a == input_text:
                return key

#передаем его в параметр для использования в дальнейших функциях
color1 = color(input_text)
color2 = color(input_text1)

print(color1,color2)
→ Ссылка
Автор решения: Valeriy M. Raznomazov

вы реализуете словарь например.

colors = {
    'red': 'красный',
    'green': 'зеленый',
    'blue': 'голубой',
    'black': 'черный',
}

а дальше, используя ищете среди key

color='green'

for (key, value) in colors.items():
    if key == color:print(value)
→ Ссылка
Автор решения: itped

Большое спасибо за помощь! Решил своими же усилиями. Не ругайтесь за длинный код

from turtle import*
a = input("Цвет первой полосы")
if a == "red" or a == "красный":
    a = "red"
elif a == "blue" or a == "синий":
    a = "blue"
elif a == "green" or a == "зеленый":
    a = "green"
else:
    if a == "yellow" or a == "желтый":
        a = "yellow"
b = input("Цвет второй полосы")
if b == "red" or b == "красный":
    b = "red"
elif b == "blue" or b == "синий":
    b = "blue"
elif b == "green" or b == "зеленый":
    b = "green"
else:
    if b == "yellow" or b == "желтый":
        b = "yellow"
c = input("Цвет третьей полосы")
if c == "red" or c == "красный":
    c = "red"
elif c == "blue" or c == "синий":
    c = "blue"
elif c == "green" or c == "зеленый":
    c = "green"
else:
    if c == "yellow" or c == "желтый":
        c = "yellow"
def pyramid1(c1):
    color(c1)
    width(50)
    penup()
    goto(-100, -100)
    pendown()
    forward(200)
    penup()
    goto(60, -50)
    pendown()
    left(180)
def pyramid2(c2):
    color(c2)
    forward(120)
def pyramid(c3):
    color(c3)
    penup()
    goto(-30, 0)
    pendown()
    left(180)
    forward(60)
pyramid1(a)
pyramid2(b)
pyramid(c)
exitonclick()
→ Ссылка
Автор решения: Эникейщик

Не нужно писать один и тот же код три раза. Для этого есть функции. Функцию пишешь один раз и используешь столько раз, сколько нужно.

from turtle import *

def define_color(): # создаем функцию
    # теперь создаем словарь, в котором хранятся цвета
    # все хранится в одно месте, изменять и дополнять придется только один раз
    colors = {"red": ["red", "красный", "rouge"], # при вводе любого из трех значений цвет будет red
              "green": ["green", "зеленый", "vert"], 
              "blue": ["blue", "синий", "bleu"]}

    # запрашиваем цвет у пользователя
    # lower() приводит к нижнему регистру на случай если введено "Красный"
    user_input = input("Введи название цвета: ").lower() 

    # ищем среди разных значений к какому цвету относится ввод пользователя
    for color in colors:
        if user_input in colors[color]:
            return color

# а теперь вызываем функцию три раза и получаем три цвета
a = define_color()
b = define_color()
c = define_color()

Код не идеален и не защищает от ошибок типа ввода несуществующего цвета или ввода с ошибкой. В таком случае результат будет None и пирамидка не нарисуется. Можно добавить в конце return "black", чтобы по умолчанию был черный цвет.

for color in colors:
        if user_input in colors[color]:
            return color

return "black"
→ Ссылка
Автор решения: MiniMax

Можно завести словарь в котором разные ключи (слова на разных языках) будут указывать на один цвет, например для цвета red будет два ключа: красный и red. И в функцию color передавать не полученное от пользователя слово, а значение из словаря, соответствующее этому слову (ключу).

from turtle import*

a = input("Цвет первой полосы: ")
b = input("Цвет второй полосы: ")
c = input("Цвет третьей полосы: ")

dictionary = {
    'red' : 'red',
    'красный' : 'red',

    'blue' : 'blue',
    'синий' : 'blue',

    'green' : 'green',
    'зелёный' : 'green',
}

def pyramid(c1, c2, c3):
    width(50)

    penup()
    goto(-100, -100)

    color(dictionary[c1])
    pendown()
    forward(200)

    penup()
    goto(60, -50)
    left(180)

    color(dictionary[c2])
    pendown()
    forward(120)

    penup()
    goto(-30, 0)
    left(180)

    color(dictionary[c3])
    pendown()
    forward(60)

pyramid(a, b, c)
exitonclick()
→ Ссылка