数组python,输入字符串更改为List并输出int
有人能帮我解决我的问题吗? 问题是, 如果iam输入int(1,2,3,4,5,6,7,8,9,0)总是错误数组python,输入字符串更改为List并输出int,python,arrays,python-3.4,Python,Arrays,Python 3.4,有人能帮我解决我的问题吗? 问题是, 如果iam输入int(1,2,3,4,5,6,7,8,9,0)总是错误 data = input() array = list(data) table = {" ":270, "a":0, "b":90, "c":180, "d":270, "e":0, "f":90, "g":180, "h":270,
data = input()
array = list(data)
table = {" ":270,
"a":0,
"b":90,
"c":180,
"d":270,
"e":0,
"f":90,
"g":180,
"h":270,
"i":0,
"j":90,
"k":180,
"l":270,
"m":0,
"n":90,
"o":180,
"p":270,
"q":0,
"r":90,
"s":180,
"t":270,
"u":0,
"v":90,
"w":180,
"x":270,
"y":0,
"z":90,
"0":180,
"1":270,
"2":0,
"3":90,
"4":180,
"5":270,
"6":0,
"7":90,
"8":180,
"9":270,
"!":0,
"@":90,
"#":180,
"$":270,
"%":0,
"^":90,
"&":180,
"*":270,
"(":0,
")":90,
"-":180,
"_":270,}
for i in range(len(array)):
print(array[i])
print(("{["+array[i]+"]}").format(table))
错误位于:
例:如果am输入a#2
不幸的是,您不能使用整数作为格式语言中
元素索引
的字典的字符串键。这是格式语言的一个限制,它将整数元素_索引
视为整数。不幸的是,文件中没有明确说明这一点,只是说:
元素_索引::=整数|索引_字符串
不幸的是,您不能使用整数作为格式语言中
元素索引
的字典的字符串键。这是格式语言的一个限制,它将整数元素_索引
视为整数。不幸的是,文件中没有明确说明这一点,只是说:
元素_索引::=整数|索引_字符串
我想你会得到同样的结果
data = input()
for char in data:
print(char)
print(table[char])
我想你会得到同样的结果
data = input()
for char in data:
print(char)
print(table[char])
从以下文件:
字段_name本身以一个arg_name开头,该arg_name可以是数字,也可以是数字
或者一个关键词如果它是一个数字,则表示位置参数
及
由于arg_name不是以引号分隔的,因此无法指定
字典中的任意字典键(例如字符串'10'或':-]')
格式字符串
字段_name的语法规范如下所示
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
我认为括号表示arg_name可以是dottribute
或索引表达式,[2]
,因此形式'10'
的任意字典键限制适用-如果这是正确的,文档可能更清晰
>>> d
{'1': 123, 'a': 4}
使用''{['1']}'
作为格式字符串,返回一个双引号字符串,该字符串不起作用
>>> '''{['1']}'''.format(d)
Traceback (most recent call last):
File "<pyshell#98>", line 1, in <module>
'''{['1']}'''.format(d)
KeyError: "'1'"
>>> d.__getitem__("'1'")
Traceback (most recent call last):
File "<pyshell#100>", line 1, in <module>
d.__getitem__("'1'")
KeyError: "'1'"
.format
无法将类似于'2'
的字符串传递给\uu getitem\uuuuuuuuu
>>> '''{[1]}'''.format(d)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
'''{[1]}'''.format(d)
KeyError: 1
>>>
如果字典有一个双引号键,那么它可以工作
>>> d["'1'"] = 'foo'
>>> d
{'1': 123, "'1'": 'foo', 'a': 4}
>>> "{['1']}".format(d)
'foo'
>>>
从以下文件:
字段_name本身以一个arg_name开头,该arg_name可以是数字,也可以是数字
或者一个关键词如果它是一个数字,则表示位置参数
及
由于arg_name不是以引号分隔的,因此无法指定
字典中的任意字典键(例如字符串'10'或':-]')
格式字符串
字段_name的语法规范如下所示
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
我认为括号表示arg_name可以是dottribute
或索引表达式,[2]
,因此形式'10'
的任意字典键限制适用-如果这是正确的,文档可能更清晰
>>> d
{'1': 123, 'a': 4}
使用''{['1']}'
作为格式字符串,返回一个双引号字符串,该字符串不起作用
>>> '''{['1']}'''.format(d)
Traceback (most recent call last):
File "<pyshell#98>", line 1, in <module>
'''{['1']}'''.format(d)
KeyError: "'1'"
>>> d.__getitem__("'1'")
Traceback (most recent call last):
File "<pyshell#100>", line 1, in <module>
d.__getitem__("'1'")
KeyError: "'1'"
.format
无法将类似于'2'
的字符串传递给\uu getitem\uuuuuuuuu
>>> '''{[1]}'''.format(d)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
'''{[1]}'''.format(d)
KeyError: 1
>>>
如果字典有一个双引号键,那么它可以工作
>>> d["'1'"] = 'foo'
>>> d
{'1': 123, "'1'": 'foo', 'a': 4}
>>> "{['1']}".format(d)
'foo'
>>>
既然你的问题已经得到了回答,我想指出另一种不用很长口述就可以将字符转换成数字的方法
chars = " abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_"
for char in chars:
print(char, (chars.index(char)+3)%4 * 90)
老实说,我认为最初的方法可能更好,因为它的作用非常明显,但我只是想表明有一种更简单的方法 既然你的问题已经得到了回答,我想指出另一种不用很长口述就可以将字符转换成数字的方法
chars = " abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_"
for char in chars:
print(char, (chars.index(char)+3)%4 * 90)
老实说,我认为最初的方法可能更好,因为它的作用非常明显,但我只是想表明有一种更简单的方法 int
2
vs字符串'2'
?首先尝试打印数据
和数组
,以帮助您调试。。。因为我们不知道里面有什么,所以我们帮不了你。请参阅,您应该发布完整的回溯。a#2(输入),输出0#180 2回溯(最近一次调用):文件“D:************\table.py”,第59行,打印(“{[”+array[i]+“]}”)。format(table))key错误:2看起来您正在尝试构造[element\u index]
格式规范语言不支持。您不能引用element\u index
,格式语言会检查[element\u index]
是否为整数,并在将其用作字符串之前传递该值,不幸的是,您需要将其作为字符串,而这不起作用。如果array[i]
是说'*'
它工作得很好。int2
vs string'2'
?首先尝试打印数据
和数组
,以帮助您调试。。。因为我们不知道里面有什么,所以我们帮不了你。请参阅,您应该发布完整的回溯。a#2(输入),输出0#180 2回溯(最近一次调用):文件“D:************\table.py”,第59行,打印(“{[”+array[i]+“]}”)。format(table))key错误:2看起来您正在尝试构造[element\u index]
格式规范语言不支持。您不能引用element\u index
,格式语言会检查[element\u index]
是否为整数,并在将其用作字符串之前传递该值,不幸的是,您需要将其作为字符串,而这不起作用。如果说array[i]
是'*'
,它工作正常。这是指规范的另一部分,即{[]}
,OP在元素索引
而不是字段名
方面存在问题。文档没有明确指出元素索引的局限性,但确实显示了:元素索引::=integer | index(字符串
。字段名
中不能有:'
,但元素名
可以有除']
以外的任何字符,例如“{[:]}”.format({':':0})->“0”