Возможно, есть более простой способ сделать это, но я прочитал, что в Python нет коммутатора/футляра. Я хотел спросить пользователя, ввести имя цвета и после вызова функции, которая должна позаботиться об этом, она должна вернуть код цвета в RGB. Мои утверждения if должны также принимать, когда первая буква или целое слово находится в капитале., имеющий сравнение сравнения строк strings @ python
Странная вещь, которая происходит со мной, я продолжаю получать результаты на своей консоли, которая не имеет никакого смысла, я УВЕРЕН, что есть (где-то) мизанкус от меня!
После ввода того же ввода, exacly же слово, результаты на консоли не совпадают.
В тот момент, когда это мой точный код.
import pygame
import sys
from pygame.locals import *
White =(255, 0, 0)
Black = (0, 0, 0)
Red = (255, 0, 0)
Green = (0, 255, 0)
Blue = (0, 0, 255)
Yellow = (255, 255, 0)
Cyan = (0, 255, 255)
Purple = (255, 0, 255)
def set_display():
pygame.init()
Display = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Seda\'s drawing game')
def get_color():
print('Please introduce one of the following colors')
print(' \n White \n Black \n Red \n Green \n Blue \n Yellow \n Cyan \n Purple')
color = input()
print (color)
if (color == 'Black') or (color == 'BLACK') or (color == 'black'):
return Black
elif (color == 'White') or (color == 'WHITE') or (color == 'white'):
return White
elif (color == 'Red') or (color == 'RED') or (color == 'red'):
return Red
elif (color == 'Green') or (color == 'GREEN') or (color == 'green'):
return Green
elif (color == 'Blue') or (color == 'BLUE') or (color == 'blue'):
return Blue
elif (color == 'Yellow') or (color == 'YELLOW') or (color == 'yellow'):
return Yellow
elif (color == 'Purple') or (color == 'PURPLE') or (color == 'purple'):
return Purple
elif (color == 'Cyan') or (color == 'CYAN') or (color == 'cyan'):
return Cyan
while True:
# set_display()
# for event in pygame.event.get():
# if event.type == QUIT:
# pygame.quit()
# sys.exit()
final_color = get_color()
print (get_color())
print (final_color)
Консоль вывода:
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
white
white
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
white
white
(255, 0, 0)
(255, 0, 0)
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
White
White
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
White
White
(255, 0, 0)
(255, 0, 0)
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
WHITE
WHITE
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
WHITE
WHITE
(255, 0, 0)
(255, 0, 0)
Please introduce one of the following colors
White
Black
Red
Green
Blue
Yellow
Cyan
Purple
, кажется, каждые 2 раза я пишу что-то, если возвращает мне код цвета RGB.
, что я держу найти трудно понять, почему это:
final_color = get_color()
print (get_color())
print (final_color)
не показывает ту же самую вещь.
Спасибо за помощь, ребята
EDDIT1: я узнал, используя дополнительные услуги на этих отпечатков, что он не получает в этих 2-х последних отпечатков. Тем не менее, чтобы узнать, почему ..
EDDIT2: я замечаю свою собственную ошибку .. говоря белый (255.0.0): D
у вас есть много заявлений для печати, но некоторые из них начинаются с какой-либо указания которого оператор печати является запуск его, попробуйте добавить например, «print (« get_color() », get_color())». –
вы дважды вызываете 'get_color()' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'и ' –