试图打印递减数字序列的代码有什么问题?

时间:2013-07-01 17:38:39

标签: python-3.x

我是python的新手,想写一个倒计时的程序。它必须从100开始并以1或0结束。我该怎么做? 这就是我现在所拥有的:

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

countdown(200)

8 个答案:

答案 0 :(得分:2)

n = n =2**123

???这该怎么办?你想通过将n设置为2到123次来实现什么?我想

n = n - 1

n -= 1

会更合适。

答案 1 :(得分: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!

如果您有任何问题,请与我们联系。

答案 2 :(得分: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"

答案 3 :(得分:-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)

答案 4 :(得分:-1)

我会简单地怀疑:

import time
num1 = 100
num2 = 0
while (num1 > num2):
    print num1
    num1 = num1 - 1
    time.sleep(1)

答案 5 :(得分:-1)

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

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent">
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
     <TableLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:background="#fff"
         android:stretchColumns="*">

         <TableRow
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="@drawable/border">

             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:text="Person:"
                 android:id="@+id/txtPerson"
                 android:textStyle="bold"
                 android:layout_gravity="center|center_horizontal"/>

             <EditText
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:id="@+id/editTxtPerson"
                 android:hint="Person in charge"
                 android:background="@drawable/border"
                 android:paddingLeft="5dp"
                 android:layout_marginRight="5dp"
                 android:singleLine="true"
                 android:inputType="textNoSuggestions"
                 />
         </TableRow>

         <TableRow
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="@drawable/border">

             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:text="E-mail:"
                 android:id="@+id/txtEmail"
                 android:textStyle="bold"
                 android:layout_gravity="center|center_horizontal"/>

             <EditText
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:id="@+id/editTxtEmail"
                 android:hint="E-mail address"
                 android:background="@drawable/border"
                 android:paddingLeft="5dp"
                 android:layout_marginRight="5dp"
                 android:inputType="textEmailAddress"
                 android:singleLine="true"/>
         </TableRow>

         <TableRow
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="@drawable/border">

             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:text="Tel:"
                 android:id="@+id/txtTel"
                 android:textStyle="bold"
                 android:layout_gravity="center|center_horizontal"/>

             <EditText
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:id="@+id/edtTxtTel"
                 android:hint="Telephone"
                 android:background="@drawable/border"
                 android:paddingLeft="5dp"
                 android:layout_marginRight="5dp"
                 android:singleLine="true"
                 android:inputType="phone"/>
         </TableRow>

         <TableRow
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:background="@drawable/border">

             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:text="Remark"
                 android:id="@+id/txtRemark"
                 android:textStyle="bold"
                 android:layout_gravity="center|top"/>

             <EditText
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:inputType="textMultiLine"
                 android:gravity="top"
                 android:lines="5"
                 android:ems="10"
                 android:scrollbars="vertical"
                 android:id="@+id/edtTxtRemark"
                 android:hint="Remark"
                 android:background="@drawable/border"
                 android:paddingLeft="5dp"
                 android:layout_marginRight="5dp"
                 android:maxLines="5"/>
         </TableRow>

         <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent">
             <Button
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="Confirm"
                 android:id="@+id/btnSave"
                android:layout_marginTop="5dp"/>

         </RelativeLayout>
     </TableLayout>
 </ScrollView>>

答案 6 :(得分:-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!"

答案 7 :(得分:-1)

好像你在Udacity中遇到了这个问题。我对这个问题的解决方案如下:

def countdown (n):
    print n

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

    print "Blastoff!"

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