IM尝试在另一个循环中运行循环,但我的输出总是为零

时间:2015-02-11 01:21:59

标签: python for-loop

l=eval(input("How many CDs are bieng processed"))
m=0
s=0
l=0
for i in range(l):
    n=eval(input("How many Tracks are on the CD:"))
    for i in range(n):
        print(i)
        m=m+eval(input("Minutes in Track :"))
        print(m)
        s=s+eval(input("Seconds in Track :"))
        print(s)
sec=m*60+s
minute=sec//60
second=sec%60
print("Total time:",minute,"Minutes",second,"Seconds")

添加代码以首先询问要处理的CD数量(您可以假设输入的值是非负数)。使用此数字来确定程序将通过一个循环(称为外循环)的次数,其中包含第1部分中的代码。因为第1部分代码的循环现在位于循环中,您正在开发对于这部分赋值,它被称为内循环。在外循环的每次传递结束时,程序应识别正在处理为CD1,CD2等的CD,然后报告该CD的总时间。因此,我们可能会看到输出,例如:

1 个答案:

答案 0 :(得分:0)

接受输入后,您将l设置为0。 (第4行)

试试这个:

l=eval(raw_input("How many CDs are bieng processed"))
m=0
s=0
for i in range(l):
    n=eval(raw_input("How many Tracks are on the CD:"))
    for i in range(n):
        print(i)
        m=m+eval(raw_input("Minutes in Track :"))
        print(m)
        s=s+eval(raw_input("Seconds in Track :"))
        print(s)
sec=m*60+s
minute=sec//60
second=sec%60
print("Total time:",minute,"Minutes",second,"Seconds")

修改

l=eval(raw_input("How many CDs are bieng processed"))
    m=0
    s=0
    for i in range(l):
        n=eval(raw_input("How many Tracks are on the CD:"))
        for i in range(n):
            print(i)
            m=m+eval(raw_input("Minutes in Track :"))
            print(m)
            s=s+eval(raw_input("Seconds in Track :"))
            print(s)
        print("Time for this CD: m: %s s: %s" % (m,s))
    sec=m*60+s
    minute=sec//60
    second=sec%60
    print("Total time:",minute,"Minutes",second,"Seconds")