在函数中迭代

时间:2012-10-14 00:46:49

标签: python function iteration

我整天都在努力这一点无济于事,我花了大约4个小时来研究一个可能的答案,因为我喜欢自己发现事情,但我似乎无法靠近。

我正在编写一个带字符串的函数,我必须将每个字符转换为符号,不包括空格和短划线。

我也试过为它创建一个银行系统,但似乎它只迭代第一个元素,这与返回有关吗?

def get_view(puzzle): 
  for elements in puzzle:
      new_ string = elements.replace(elements, "$")
      return new_string 

编辑: 我试过了:

HIDDEN =“^” new_string =“”

def get_view(puzzle):
    for elements in puzzle:
    new_string = puzzle.replace(elements, HIDDEN)
    return new_string                  

现在返回

  
    
      

get_view( “ABC”)       'ab ^'

    
  

Wtttfffff。

2 个答案:

答案 0 :(得分:5)

它与return有关。遇到return语句时,函数进程终止;因此,函数的for - 循环将始终在第一次迭代时结束。

答案 1 :(得分:0)

首先,您必须定义要将每个字母转换为的内容。我们来举个例子

conversion_symbols = {'a':'$','b':'#'}#自己填写其余部分。

# then you have to loop over the string, give gives one character at a time, covert it and
# and add to your result string and then return the result string.

def get_view(puzzle):
  new_string = ""
  for element in puzzle:
      new_string += conversion_symbols[element]
  return new_string

这是你想要达到的方法吗?