【问题标题】:Asking for a short sentence, how many to appear, and print it out求一个短句,出现多少个,打印出来
【发布时间】:2017-10-02 23:48:31
【问题描述】:

我正在处理命令,告诉他们写一个简短的句子,询问有多少出现并打印出来,如下所示:

a=eval(input("Type something in short: "))
b=eval(input("How many?: "))
for b in a:
    for a in range(b):
        print(a)

我要问人,python上的代码有错误吗?

【问题讨论】:

  • 你能定义sen
  • 糟糕,我没注意到。对此感到抱歉。
  • 您有逻辑错误。您是否期望它计算 ba 中的出现次数?
  • 您能提供示例输入和输出吗?
  • 永远不要在用户输入上使用 eval(),它允许人们输入他们喜欢的任何代码,并且 eval() 将执行 ir。

标签: python


【解决方案1】:

我猜你的目标是打印ab 的次数。

为此,您甚至不需要使用循环。做吧:

print(a*int(b))

In : Type something in short : "abc"
In : How many?: "3"
Out : abcabcabc

现在,如果您想在新行中输入字符串,只需将 \n 添加到字符串中即可。

print((a+'\n')*int(b))

In : Type something in short : "abc"
In : How many?: "3"
Out : abc
      abc
      abc

至于代码中的错误,您使用了一个额外的for 循环并且有一些错误。应该是:

for i in range(b):
    print(a)

【讨论】:

    【解决方案2】:

    如果您想打印b 次,您可以只使用一个for 循环:

    for i in range(b):
        print(a)
    

    【讨论】:

      【解决方案3】:

      几种不同的方法可以做到这一点:

      #假设a: strb: int


      字符串乘法:

      print((a+'\n')*b)
      

      使用列表和连接的方式

      l = [a]*b
      print('\n'.join(l))
      

      简单的for循环:

      for i in range(b):
          print(a)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 1970-01-01
        • 2023-01-01
        相关资源
        最近更新 更多