【问题标题】:For loop outout numbers to a stringFor循环输出数字到字符串
【发布时间】:2016-07-23 08:03:35
【问题描述】:

我刚刚写了一个代码,它得到一个起始数字、结束数字和一个步骤(它是一个范围),并在 bettwen 中打印所有数字。 它工作得很好,但我希望输出也是一个字符串。

这是我的代码:

def count(num1,num2,steps):
    getfirstnum=int(raw_input(num1))
    getsecondenum=int(raw_input(num2))
    getsteps=int(raw_input(steps))
    for num in range(getfirstnum,getsecondenum,getsteps):
        print 'in bettwen: ',num
    return num

def Main():

    Getnum=count('Give me the 1st number: ','Give me the 2nd number: ','How many Steps?: ')


if __name__ == "__main__":
    Main()

现在如果我要插入: 第一个数字:1 第二个数字:10 步骤:2

我会得到结果的:

in bettwen:  1
in bettwen:  3
in bettwen:  5
in bettwen:  7
in bettwen:  9

我怎样才能让我的输出成为一个字符串? 谢谢。

【问题讨论】:

  • 你的输出是一个字符串。您是说要将输出作为字符串返回而不是打印出来吗?

标签: python string function for-loop


【解决方案1】:

试试这个:

def whatever(start, stop):
    result = ''
    for num in range(start,stop):
        result += str(num)
    return result

print(whatever(0,5))

01234

【讨论】:

  • 赋值前引用的局部变量'result'
  • @ShaiAlfasi - 如果这对你有用,请接受它作为答案
【解决方案2】:
...
print 'in bettwen: ' + str(num)
...

或者,如果您正在寻找不同的东西,例如:

string = 'in bettwen: '
for num in range(getfirstnum,getsecondenum,getsteps):
    string += " " + str(num)
return num

【讨论】:

    【解决方案3】:
    def count(num1,num2,steps):
        string_output = ""
        getfirstnum=int(raw_input(num1))
        getsecondenum=int(raw_input(num2))
        getsteps=int(raw_input(steps))
        for num in range(getfirstnum,getsecondenum,getsteps):
            string_output += str(num)
        return string_output
    

    【讨论】:

    • TypeError: 无法连接 'str' 和 'int' 对象
    • @ShaiAlfasi 更新了答案。将num 更改为str(num)
    【解决方案4】:

    使用join 和生成器:

    >>> ''.join(str(n) for n in range(1,10,2))
    '13579'
    

    这相当于:

    >>> s = ''
    >>> for n in range(1,10,2):
    ...     s += str(n)
    ...     
    >>> s
    '13579'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多