3

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

我正在编写一个接受字符串的函数,并且使用这个字符串我必须将每个字符转换为一个符号,不包括空格和破折号。

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

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

编辑:我试过:

隐藏 = "^" new_string = ""

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

现在回来了

get_view("abc") 'ab^'

啧啧啧。

4

2 回答 2

5

它确实与return. 当return遇到语句时,函数进程终止;因此,for您的函数的 -loop 将始终在其第一次迭代时结束。

于 2012-10-14T00:48:44.630 回答
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

这是你试图达到的方法吗?

于 2012-10-14T00:51:37.980 回答