Python 如何将if-else从一个函数转换为另一个函数
我有一个函数“get_number(code,attribute)”,它输出与特定信息相关联的特定代码部分。但我不确定如何在“print_description(code)”中使用此函数,以便在函数只有一个返回时可以获得代码的特定部分 在“print_description(code)”文档字符串下,我想替换那些等式“get_number(code,attribute)”Python 如何将if-else从一个函数转换为另一个函数,python,if-statement,Python,If Statement,我有一个函数“get_number(code,attribute)”,它输出与特定信息相关联的特定代码部分。但我不确定如何在“print_description(code)”中使用此函数,以便在函数只有一个返回时可以获得代码的特定部分 在“print_description(code)”文档字符串下,我想替换那些等式“get_number(code,attribute)” 每个类型只需调用一次函数,如下所示: country\u code=get\u code(序列号,'country') 颜色
每个类型只需调用一次函数,如下所示:
country\u code=get\u code(序列号,'country')
颜色代码=获取代码(序列号“颜色”)
大小\代码=获取\代码(序列号,'大小')
item_num=获取代码(序列号,'item')
我完成了您的代码,并附上了一些备注
def get_code(serial_number, type):
"""
-------------------------------------------------------
Returns code from serial number and type.
Use: code = get_code(serial_number, type)
-------------------------------------------------------
Parameters:
serial_number - an arbitrary serial number (str)
type - some string representing a serial number attribute (str)
Returns:
code - value derived from type and serial number (int)
-------------------------------------------------------
"""
....
def print_description(serial_number):
"""
-------------------------------------------------------
Print detailed description based on the serial number.
Use: description = print_description(serial_number)
-------------------------------------------------------
Parameters:
serial_number - an arbitrary serial number (str)
Returns:
country - country code (int)
color - color code (int)
size - size code (int)
item - item code (int)
-------------------------------------------------------
"""
if not isinstance(serial_number, str):
print('Invalid Serial Number')
else:
country_code = get_code(serial_number, 'country')
color_code = get_code(serial_number, 'color')
size_code = get_code(serial_number, 'size')
item_num = get_code(serial_number, 'item')
# where is get_country, get_color, etc., defined?
# country1 = get_country(country_code)
# color1 = get_color(color_code)
# size1 = get_size(size_code)
# There is not 'Undefined' in Python! Is this code a port from JS?
# if country1 == 'Undefined' or color1 == 'Undefined' or size1 == 'Undefined':
# print('Description not found')
#else:
#
print('{} {} Ball, item#: {} made in {}'.format(size_code, color_code, item_num, country_code))
return # where are the return values?
def get_number(code,type):
不应该是def get_number(code,attribute):
?另外,可能返回字典中的所有代码:return{“x_code”:int(code)//100000,“y_code”:……
def get_code(serial_number, type):
"""
-------------------------------------------------------
Returns code from serial number and type.
Use: code = get_code(serial_number, type)
-------------------------------------------------------
Parameters:
serial_number - an arbitrary serial number (str)
type - some string representing a serial number attribute (str)
Returns:
code - value derived from type and serial number (int)
-------------------------------------------------------
"""
....
def print_description(serial_number):
"""
-------------------------------------------------------
Print detailed description based on the serial number.
Use: description = print_description(serial_number)
-------------------------------------------------------
Parameters:
serial_number - an arbitrary serial number (str)
Returns:
country - country code (int)
color - color code (int)
size - size code (int)
item - item code (int)
-------------------------------------------------------
"""
if not isinstance(serial_number, str):
print('Invalid Serial Number')
else:
country_code = get_code(serial_number, 'country')
color_code = get_code(serial_number, 'color')
size_code = get_code(serial_number, 'size')
item_num = get_code(serial_number, 'item')
# where is get_country, get_color, etc., defined?
# country1 = get_country(country_code)
# color1 = get_color(color_code)
# size1 = get_size(size_code)
# There is not 'Undefined' in Python! Is this code a port from JS?
# if country1 == 'Undefined' or color1 == 'Undefined' or size1 == 'Undefined':
# print('Description not found')
#else:
#
print('{} {} Ball, item#: {} made in {}'.format(size_code, color_code, item_num, country_code))
return # where are the return values?