Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在for循环中将字符串强制转换为Int_Python - Fatal编程技术网

Python 在for循环中将字符串强制转换为Int

Python 在for循环中将字符串强制转换为Int,python,Python,如何将位置变量I存储为int,以便在字符串中使用该特定位置 这将以单间距字体显示 sentence = input() for i in sentence: if i == " ": j = int(i) #this line is throwing an error print (sentence[0:j]) 您应该使用枚举 for k, v in enumerate(sentence): if v == " ": print (se

如何将位置变量I存储为int,以便在字符串中使用该特定位置 这将以单间距字体显示

sentence = input()
for i in sentence:
    if i == " ":
        j = int(i) #this line is throwing an error 
        print (sentence[0:j])

您应该使用
枚举

for k, v in enumerate(sentence):
   if v == " ":
     print (sentence[0:k])
您正在将空格char强制转换为int。当然不起作用

>>> int(' ')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''
>>int(“”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:基数为10的int()的文本无效:“”

您的代码中有两个缺陷:

if i == " ":
    j = int(i)
因此,您需要检查
i
是否为空格字符,在这种情况下,您需要将该空格转换为数字。当然,这是行不通的,那个空间应该是多少

另一个缺陷是您在其中使用空格字符的原因。您说要使用角色的位置或索引。但是for循环所做的事情与您预期的不同:
for x in sequence
将迭代该序列中的每个元素
x
。对于字符串序列,您将获得每个字符,而不是索引

例如:

>>> for x in 'foo':
        print(x)

f
o
o
如您所见,它打印的是字符,而不是索引

不过,您可以使用
enumerate()
进行此操作。Enumerate将枚举一个序列,为您提供该序列出现的值和索引:

>>> for i, x in enumerate('foo'):
        print(i, x)

0 f
1 o
2 o
所以你也得到了索引

在您的情况下,您的代码如下所示:

sentence = input()
for i, x in enumerate(sentence):
    if x == " ":
        print(sentence[0:i])

如果您试图查找
''
的位置,请使用
句子索引('')


为了清楚起见,您想通过索引获取字符串中的每个字符吗?所以,如果句子是“abcd”,那么句子[0]=“a”句子[1]=b等等?是的,没错。我想知道字符串中任何空格的位置,比如-在字符串中,我想j等于2ok,所以如果I==“”,只需执行句子索引(I),这将给出空格的索引。。。
sentence = input()
try:
    i = sentence.index(' ')
    print (sentence[0:j])
except ValueError:
    pass