【发布时间】:2014-02-27 17:15:52
【问题描述】:
我已经尝试了几种不同的方法,但都无济于事。我们需要使用简单的运算符和简单的循环来执行此操作。这是我尝试过的:
def str2num(inputstr):
i = ''
for x in inputstr:
i = i + str.replace(x, str(ord(x)),1)
i = str(i)
print(i)
出现一个错误,指出整数不能隐式转换为字符串,我尝试使用 str(ord(x) 修复该错误,但仍然收到相同的错误。
然后我决定尝试转换为列表并使用导入字符串...事情变得一团糟:
def str2num(s):
import string
r = string.ascii_lowercase + string.ascii_uppercase
L = list(r)
for i in L:
L [i] = 00 + 1
print(L)
我没有可以想出的解决方案,有什么建议吗?请记住(我知道这很痛苦,但是)只有简单的解决方案。使用 for、with、while、if、import string 和一般数学运算符。这门课不是关于效率,而是使用基本工具来完成工作。
谢谢。
【问题讨论】:
-
我还必须能够在 def str2num() 括号中输入一个值,并让它使用上述数字给我一个代码。
-
你试图用整数
1替换字符串中的某些内容;这就是错误。你可能想要"1",尽管我不清楚你在该代码中做了什么。 -
问题来了:
-
假设我们使用两位数字来编码英文小写和大写字母。因此,字母 a 编码为 00,字母 b 编码为 01,字母 c 编码为 02,……,字母 z 编码为 25,字母 A 编码为 26,字母 B 编码为 27,……,字母 Z 编码为 51。编写一个 python 函数, 称它为 str2num(s),它返回字符串 s 的上述编码。例如,str2num('MyHome') 应该返回字符串 '382433141204'
-
因此,我被要求将字符串字符转换为数字,并以这些数字的字符串形式将其打印回给我。
标签: python string python-3.x numbers