【问题标题】:generating a series of numbers without using any string functions in python生成一系列数字而不使用python中的任何字符串函数
【发布时间】:2020-07-02 13:18:42
【问题描述】:

我是 python 编程的新手,并且在 Hacker Rank 中解决了一些问题。 问题是在不使用任何字符串方法的情况下读取一个整数 N 并以 123....N 的格式打印。 我做了以下

Answer = ''

for i in range(1,Input+1):
    Answer += str(i)

print Answer

当我研究另一个解决方案时,给出的解决方案之一是

print(*range(1,N+1), sep='')

我试图理解这一点,但无法理解。我找不到 *range 的任何文档。有人可以帮忙吗..

【问题讨论】:

标签: python


【解决方案1】:

给定的表达式正在调用range() 内置函数,加上unpacking arguments 运算符*(也称为“splat”运算符),它只是将一个序列扩展为它的各个元素。例如:

print(*range(1, 5+1), sep='')

将扩展为:

print(1, 2, 3, 4, 5, sep='')

【讨论】:

    【解决方案2】:

    您可以将迭代结果存储在列表中并删除逗号并打印它:

    res = ()
    for i in range(1,n+1):
        res+=(i,)
        fin = ''.join(map(str,res))
    print(fin)
    
    
        
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多