使用模数进行循环测序

时间:2019-05-23 00:45:08

标签: python for-loop iteration

我对编程很陌生,刚刚开始学习python,并且对模运算符没有太多的经验。我想在终端中输入一定的秒数,以减少使用for循环的时间。每隔十秒钟,我要打印一个标签。标签一打印完后,我希望两秒钟后再打印标签二。模式应以此顺序继续,直到所有时间用完为止。我尝试了许多不同的方法来使它起作用,并觉得我缺少一些简单的东西。当我摆脱标签2并运行代码时,如果需要,可以将标签1设置为每10秒或13秒打印一次。话虽这么说,我觉得标签一以某种方式摆脱了标签二,我需要对标签二执行某种数学运算以在标签一之后两秒钟触发,或者以某种方式我需要将标签二设置为零,以便计数到十二点将停止并重新开始,而无需增加两秒钟?另外,我计划添加其他标签以在一定数量的秒数或迭代后重复,但是为了简化起见,我认为我只从两个开始。

import time

seconds = int(input("\n\n\tEnter Seconds: "))

for i in range(seconds):
    print ("\n\t" + (str(seconds - i)))
    time.sleep(1)

    if (i % 10 == 0):
        print ("\t\t\tShow Label 1")
        print (i)

    if (i % 12 == 0):
        print ("\t\t\tShow Label 2")
        print (i)

1 个答案:

答案 0 :(得分:3)

按照当前的书写方式(如果您修复了缩进),标签1将在0、10、20、30…上打印,标签2将在0、12、24、36…上打印。换句话说,class ExtendingIsMyInt extends BaseClass<MyInt>() { public anotherProperty: number; constructor(data: MyInt, anotherProperty: number) { super(data); this.anotherProperty = anotherProperty; } method() { return this.field2 != this.field1 ? this.field3 || this.anotherProperty : 0; } } 右侧的内容是重复的频率。

听起来您希望标签2也每十秒钟打印一次,但要延迟两秒钟。在这种情况下,%右侧仍需要一个十,因为它每十秒钟重复一次。只需更改您要与之比较的内容即可:

%

您可以将其视为“在十步循环的第二步”运行。可视化模量运算符的另一种方法是查看钟面:“ 1:00”表示if i%10 == 2: ,而“ 3:00”表示hours%12 == 1