Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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循环迭代期间生成异常_Python_Python 3.x_If Statement_For Loop_Nested - Fatal编程技术网

如何在python中的for循环迭代期间生成异常

如何在python中的for循环迭代期间生成异常,python,python-3.x,if-statement,for-loop,nested,Python,Python 3.x,If Statement,For Loop,Nested,对于这个问题的简单答案,我先表示歉意,但我似乎不知道如何将if\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu:块嵌套到现有的for块中 例如,如何更改此块以迭代I的每个实例,忽略奇数 odds = '1 3 5 7 9'.split() for i in range(x): if i in odds: continue print(i) 如果i==y,则此代码适用于,但我无法使其与一组特定的“y”一起工作,这与嵌套无关。您正在比较苹果和梨,或者

对于这个问题的简单答案,我先表示歉意,但我似乎不知道如何将
if\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu:
块嵌套到现有的
for
块中

例如,如何更改此块以迭代
I
的每个实例,忽略奇数

odds = '1 3 5 7 9'.split()
for i in range(x):
   if i in odds: 
      continue
   print(i)

如果i==y,则此代码适用于
,但我无法使其与一组特定的“y”一起工作,这与嵌套无关。您正在比较苹果和梨,或者在本例中,尝试在
str
对象列表中查找
int

因此,
if
测试从不匹配,因为列表中没有
1
['1','3','5','7','9']
;也没有
3
5
7
9
,因为整数与字符串是不同类型的对象,即使该字符串包含的数字在您作为人的眼中看起来像数字

首先将int转换为字符串,或者将字符串转换为整数:

if str(i) in odds:

如果你想测试奇数,有一个更好的测试;检查除以2的余数是否为1:

if i % 2 == 1:  # i is an odd number

这与筑巢无关。您正在比较苹果和梨,或者在本例中,尝试在
str
对象列表中查找
int

因此,
if
测试从不匹配,因为列表中没有
1
['1','3','5','7','9'];也没有
3
5
7
9
,因为整数与字符串是不同类型的对象,即使该字符串包含的数字在您作为人的眼中看起来像数字

首先将int转换为字符串,或者将字符串转换为整数:

if str(i) in odds:

如果你想测试奇数,有一个更好的测试;检查除以2的余数是否为1:

if i % 2 == 1:  # i is an odd number

如果您希望在偶数范围内进行迭代,那么类似的方法应该可以奏效。X是一个整数。
2
是步骤,因此这将忽略奇数

for i in range(0,x,2):
    print(i)
有关更多信息,请查看此处的文档:

我在您提供的代码中遇到了几个问题,continue将直接涉及print语句和
赔率
中的值,其中chars不是int,这意味着比较失败

创建一个整数列表并使用
不在
中而不是在
中使用
可以解决这个问题

x = 10
odds = [1, 3, 5, 9]
for i in range(x):
    if i not in odds:
        print(i)

如果您希望在偶数范围内进行迭代,那么类似的方法应该可以奏效。X是一个整数。
2
是步骤,因此这将忽略奇数

for i in range(0,x,2):
    print(i)
有关更多信息,请查看此处的文档:

我在您提供的代码中遇到了几个问题,continue将直接涉及print语句和
赔率
中的值,其中chars不是int,这意味着比较失败

创建一个整数列表并使用
不在
中而不是在
中使用
可以解决这个问题

x = 10
odds = [1, 3, 5, 9]
for i in range(x):
    if i not in odds:
        print(i)

赔率
是字符串列表
i
是一个整数。我不知道你想打印问题中的偶数还是奇数。您使用的是range,这表明您希望迭代一系列值,而不是列表中的值。你可能需要澄清这一点。我在寻找一种排除我在for循环中的方法。我举这个例子是因为它很简单,而我正在编写的实际程序更复杂。在本例中,我希望迭代每个变量,但只打印evens,因为赔率将命中“continue”语句。
赔率
是字符串列表
i
是一个整数。我不知道你想打印问题中的偶数还是奇数。您使用的是range,这表明您希望迭代一系列值,而不是列表中的值。你可能需要澄清这一点。我在寻找一种排除我在for循环中的方法。我举这个例子是因为它很简单,而我正在编写的实际程序更复杂。在本例中,我希望迭代每个变量,但只打印evens,因为赔率会命中“continue”语句。