TypeError: create_purple() 接受 0 个位置参数,但给出了 2 个
问题描述
I am brand new to Python programming and trying to make this program work.
I have made this program work by using "if" and "else" statements only, however, I wanted to make this same program with the method below. When I run the program I keep getting an error "TypeError: create_purple() takes 0 positional arguments but 2 were given" and I cannot figure out why.
Here is my code:
#*******************************************************************************************
#
# 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 ('
')
# Tell the user the objective of the program.
print ('*****************************************************************************')
print ('*****************************************************************************')
print ('
')
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 ('
')
print ('You have made the color.... Purple ')
else:
if color1 == BLUE and color2 == RED:
print ('
')
print ('You have made the color.... Purple ')
# Call the main function
main()
解决方案
You are calling create_purple with 2 arguments, yet your definition (def) has 0 arguments.
Simply update the definition:
def create_purple(color1,color2):
相关文章