Skip to main content
 首页 » 编程设计

python之从函数返回字符串和整数

2025年05月04日22jpfss

我有一个名为 item_order (order) 的函数,它按顺序计算 char 的数量,然后应该返回如下内容:

'Letter a: number of letter a letter b: number of letter b' 

但是我收到一条错误消息,提示我无法连接 str 和 int。 如何返回 str 和 int?

这是代码(我使用的是 python):

def item_order(order): 
     ''' 
     order is a string containing words for the items a customer can order 
     returns the number of times each word is listed 
     with this format : name : number of times it is listed 
     ''' 
     s=0 
     h=0 
     w=0 
     for char in order: 
         if char=='s': 
             s=s+1 
         if char=='h': 
             h=h+1 
         if char=='w': 
             w=w+1         
     answer='salad:', s  'hamburger:' h  'water:' w              
     return  answer  

当我用这个参数调用函数时 ('salad, salad, hamburger, water') 我希望它返回这个:

'salad:2 hamburger:1 water:1' 

我可以正确地找到每个单词被列出的次数,但是我不能用上面的格式返回它。

请您参考如下方法:

format 字符串方法专用于此类任务:

return 'salad: {} hamburger: {} water: {}'.format(s, h, w) 

无关:您的计数代码很脆弱。它恰好工作正常 对于这个数据集,因为字母 shw 每个只出现一次 整组词。但是,如果您添加了一个词,例如 'milkshake' 此代码每次出现时都会计算一个额外的 s 和 h。

更好的方法是将字符串拆分为单词,然后查看 每个字母的第一个字母:

for word in order.split(): 
    char = word[0] 
    if char == 's': 
    etc. 

更稳健的方法是计算单词本身并返回一个 dict,但当你使用字典时,我会把它留给你;看起来像 你才刚刚开始使用 Python。