2014-10-01 3 views
0

Я новичок в программировании на Python и пытаюсь заставить эту программу работать.ТипError: create_purple() принимает 0 позиционных аргументов, но 2 дано

Я выполнил эту программу только с помощью операторов «if» и «else», однако я хотел сделать эту же программу с помощью метода ниже. Когда я запускаю программу, я продолжаю получать ошибку «TypeError: create_purple() принимает 0 позиционных аргументов, но 2 даны», и я не могу понять, почему.

Вот мой код:

#******************************************************************************************* 
# 
# This program will take any two primary colors and create a secondary color. 
# 
# Primary colors are: 
# Blue, Red, Yellow 
# 
# Secondary colors are: 
# Green, Orange, Purple 
# 

#Clear the screen 
import os 
os.system('cls') 

RED = "red" 
BLUE = "blue" 
YELLOW = "yellow" 

def main(): 
    print ('\n') 
    # Tell the user the objective of the program. 
    print ('*****************************************************************************') 
    print ('*****************************************************************************') 
    print ('\n') 
    print ('The objective of this program is to create a secondary color from two primary') 
    print ('colors. When asked, choose two primary colors (Red, Blue, or Yellow) to create') 
    print ('a secondary color ') 

    # Choose your colors 
    color1 = input('Enter your first primary color: ') 
    color2 = input('Enter your second primary color: ') 

    # Determine the secondary color 
    if color1 == RED and color2 == BLUE: 
    create_purple(color1,color2) 


def create_purple(): 

    # Determine the color is purple 
    if color1 == RED and color2 == BLUE: 
     print ('\n') 
     print ('You have made the color.... Purple ') 
    else: 
     if color1 == BLUE and color2 == RED: 
      print ('\n') 
      print ('You have made the color.... Purple ') 

# Call the main function 
main() 
+1

Я ненавижу, когда я делаю это - я понял это только после того, как я отправил вопрос. Мне нужно было вставить «color1, color2» в строку def create_purple():. Он должен читать ... def create_purple (color1, color2): –

ответ

1

Вы звоните create_purple с 2 аргументами, но ваше определение (DEF) имеет 0 аргументов.

Просто обновить определение:

def create_purple(color1,color2): 
Смежные вопросы