Skip to main content
 首页 » 编程设计

python之倒计时,然后向上

2025年05月04日29www_RR

我是 python 的新手,正在尝试运行一个函数,该函数将在给定一个变量的情况下倒计时到零,然后倒计时到原始变量。输出应如下所示:

>>> functionname(5) 
5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5 

到目前为止,我已经编写了下面的代码,但这并没有一直计算到原始变量。我想我需要以某种方式保存变量以便稍后引用它,但我不知道该怎么做,因为 python 会随着函数的执行自动更改 n。

def functionname(n): 
    n = orginal 
    while n > 0: 
        print n 
        n=n-1 
    print n 
    if n==0: 
        print n 
        n=n+1 

我将非常感谢一些指点,因为我现在似乎完全陷入困境。

请您参考如下方法:

只需从负数到正数并使用数学:

def fn(n): 
    print ', '.join(str(abs(i)) for i in range(-n, n+1)) 
fn(5) 
# 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5 

指针:

  • 如果您已经知道要迭代的范围,则使用 for 循环而不是 while 会更简洁、更直接。
  • 您可以使用 range 函数生成数字序列。
  • 您可以像我上面那样将简单的 for 循环转换为列表理解。

您的要求的“简单”干净实现看起来像这样:

def fn(n): 
    for i in range(n, 0, -1): 
        print i, 
    for i in range(n + 1): 
        print i, 

其他说明:

  • range 也可以倒数
  • range 的结束参数不包含在范围本身中,这就是为什么第二个循环将 n + 1 指定为限制(而不仅仅是 n)
  • 在您的 print 上添加尾随逗号使其在末尾添加一个空格而不是换行符。