我想以递归方式编写这个来编码带有ord和chr的字符串中的其他字母,但是当我以递归方式编写它时,它再次从用户调用raw_input。我该如何解决?
def rawEncode(input):
input= raw_input("GIVE ME SUPER SECRET MESSAGE TO ENCODE")
unencoded="%s" %input [:]
if "%s" %input =='':
return ''
else:
answer=ord("%s" %input [0])
return answer
答案 0 :(得分:0)
最好在不同的地方获取输入和编码字符串。但是,您可以通过添加其他标志来获得所需的递归,该标志禁用输入强制并将返回值修改为进一步连接ords的列表:
def rawEncode(input='', force_input=True):
if force_input:
input= raw_input("GIVE ME SUPER SECRET MESSAGE TO ENCODE")
if "%s" % input == '':
return ['']
else:
answer = ord("%s" %input [0])
return [answer] + rawEncode(input=input[1:], force_input=False)
print rawEncode()
答案 1 :(得分:0)
您可以简单地说明语句
input= raw_input("GIVE ME SUPER SECRET MESSAGE TO ENCODE")
在函数调用之前。
答案 2 :(得分:0)
非常简单
Depth.Fe
1 0,14.21
2 3,19.35
3 10,17.22
4 14,15.87
5 23,13.62
6 30,16.31
7 36,14.13
8 48,13.95
9 59,15
10 66,14.23
11 68,16.81
12 81,15.93
13 94,16.02
14 96,17.85
15 102,17.02
16 115,15.87
17 121,19.84
18 130,16.94
19 163,16.72
20 168,19.2
21 205,20.41
22 239,16.88
23 251,18.74
24 283,16.67
25 297,18.56
26 322,18.87
27 335,20.81
28 351,24.52
29 370,25.03
30 408,25.11
31 416,23.28
32 419,22.56
33 425,19
34 429,20.53
35 443,19.08
36 447,22.83
37 465,21.06
38 474,24.96
39 493,19.12
40 502,22.24
41 522,26.88
42 550,21.15
43 558,28.92
44 571,27.96
45 586,25.03
46 596,26.27