使用Python 3
这是非常基本的我敢肯定。该代码用于从提供的国家/地区代码返回国家/地区。基本上我需要输入的前两个字母。
我到目前为止所使用的代码只输出第一个“国家代码”
def get_country_codes(prices):
c = prices.split(',')
for char in c:
return char[:2]
print(get_country_codes("NZ$300, KR$1200, DK$5"))
output:
NZ
Wanted output:
NZ, KR, DK
答案 0 :(得分:0)
def get_country_codes(prices):
values = []
price_codes = prices.split(',')
for price_code in price_codes:
values.append(price_code.strip()[0:2])
return values # output: ['NZ', 'KR', 'DK']
return ', '.join(values) # output: NZ, KR, DK
print(get_country_codes("NZ$300, KR$1200, DK$5"))
输出:
['NZ', 'KR', 'DK']
基本上你的方法是从split
列表中返回第一个值。
您需要迭代该拆分列表并将每个值保存在另一个列表中并返回该值。
另一种方法:
country_price_values = "NZ$300, KR$1200, DK$5"
country_codes = [val.strip()[0:2] for val in country_price_values.split(',')]
答案 1 :(得分:0)
这很简单:
>>> def get_country_codes(prices):
return [cc.strip()[:2] for cc in prices.split(',')]
>>> print(get_country_codes("NZ$300, KR$1200, DK$5"))
['NZ', 'KR', 'DK']
>>>
您的程序正在执行的是for
循环,但是当调用return
时,它会终止该函数;你的实现看起来好像你想要一个可行的生成器(即使用yield
),但可能比这更麻烦。