-1

我对python很陌生,想写一个倒计时的程序。它必须从 100 开始并以 1 或 0 结束。我该怎么做?这就是我现在得到的:

def countdown(n):
while n > 0:
    print (n)
    n = n =2**123
print('Blastoff')

countdown(200)
4

8 回答 8

2
n = n =2**123

???这应该做什么?你想通过设置n为 2 的 123 次方来完成什么?我认为

n = n - 1

或者

n -= 1

会更合适。

于 2013-07-01T17:40:44.743 回答
1

这是代码:

#!/usr/bin/python

def countdown(count):
    while (count >= 0):
        print ('The count is: ', count)
        count -= 1

countdown(10)
print ("Good bye!")

如果你想用实际秒数倒计时,我猜你要做什么,可以通过在每次迭代中让倒计时休眠 1 秒来完成:

#!/usr/bin/python

import time

def countdown(count):
    while (count >= 0):
        print ('The count is: ', count)
        count -= 1
        time.sleep(1)

countdown(10)
print ("Good bye!")

输出是:

The count is:  10
The count is:  9
The count is:  8
The count is:  7
The count is:  6
The count is:  5
The count is:  4
The count is:  3
The count is:  2
The count is:  1
The count is:  0
Good bye!

如果您有任何问题,请告诉我。

于 2013-07-01T17:49:12.303 回答
0

在 python 中,缩进很重要。函数内的所有行都必须缩进。

你的方法应该是:

def countdown(n):
     while n > 0:
         print (n)
         n = n-1
     print("Blastoff")

或者更pythonic的方式可能是:

def countdown(n):
    for i in reversed( range(n) ):
        print i
    print "Blastoff"
于 2013-07-01T17:54:09.370 回答
-1

简单的方法是使用带负增量参数的范围。例如:

for n in range(10,0,-1):
    print(n)

另一种方式:您可以使用 yield 命令。它用于制造发电机。这就像返回命令。例如:

#this is generator function
def countdown(start,last):
    n=start
    while(n>last):
        yield n
        n-=1

for n in countdown(10,0):
    print(n)
于 2013-10-20T18:28:33.480 回答
-1

我会简单地写下类似的东西:

import time
num1 = 100
num2 = 0
while (num1 > num2):
    print num1
    num1 = num1 - 1
    time.sleep(1)
于 2015-12-24T19:57:14.947 回答
-1

干草试试这个你可以输入你需要倒数的数字:

import time

numTimes = int(input("How Many Seconds Do You Wish To Have Untill LiftOff: "))
def countdown(count):
    while (count >= 0):
        print ("LiftOff In: ", count)
        count -= 1
        time.sleep(1)

countdown(numTimes)
print ("!WE HAVE LIFT OFF!")
于 2016-03-15T05:54:24.517 回答
-1

以下代码应该可以工作:

import time
start = int(input("How many seconds do you want?\nSeconds: "))
for i in range(start,-1,-1):
    time.sleep(1)
    print(i)
print "Countdown finish!"
于 2016-09-08T14:55:56.660 回答
-1

您似乎在 Udacity 中遇到了问题。我对这个问题的解决方案如下:

def countdown (n):
    print n

    while n > 1:
        n=n-1
        print n

    print "Blastoff!"

顺便说一句,要小心压痕。第二个“print n”应该根据它前面的行缩进,否则该过程不起作用。

于 2016-10-11T00:16:05.683 回答