检查是否有多个值,但需要额外的一行

时间:2017-12-08 15:17:42

标签: python if-statement conditional

我的第一个问题..! 大家好,作为一个试图学习编程/ Python的人确切地说,我有一个问题,我想解决。我写了一些按预期工作的代码。

for i in range(81):
    if i in (30, 60, 80):
        if i == 80:
            ab += str(a) + '*' + str(b) + '<>'
        ab = ab.rstrip('<>')
        my_list += my_func(ab)
        ab = ''
    ab += str(a) + '*' + str(b) + '<>'

然而,我不认为这部分是蟒蛇的方式:

if i in (30, 60, 80):
    if i == 80:

我应该有办法说,如果我= = 80然后做标准&#39;如果&#39;条件额外代码后。

我希望我能正确解释这个问题。谢谢!

PS:这是一个示例代码。我试图找到合适的逻辑。不要对结果感到困惑。

编辑:我在发布问题时忘记输入此行(这就是为什么有些人不理解代码):

my_list += my_func(ab)

另外还要加分:)如果这条线不必写两次,我会喜欢它!

ab += str(a) + '*' + str(b) + '<>'

2 个答案:

答案 0 :(得分:0)

为什么不在for循环中做两个语句? 喜欢:

for i in range(81):
    if i == 80:
        <your code>
    if i in [30, 60, 80]:
        <your code>
    <code for every i>

答案 1 :(得分:0)

您可以将if i == 80:...移到上方{/ 1}}以避免任何嵌套或重复,但不确定这是否是您认为这样做的原因不够Pythonic:

if