【问题标题】:How to not print a number in python如何在python中不打印数字
【发布时间】:2020-09-07 22:52:00
【问题描述】:
start = int(input("Enter a number: "))

for number in range(1, start + 1):
    if (number % 2 == 0):
        print("{0}".format(number), end=",")

我有这段代码可以打印出正确的数据,但我不希望输入出现在输出中,以及如何删除最后的逗号。另外,如何在开头添加 0?我该如何解决这个问题?

例如我输入10。输出需要是0,2,4,6,8

【问题讨论】:

标签: python


【解决方案1】:

以下应该是你想要的我想的。

start = int(input("Enter a number: "))
numbers = [number for number in range(start) if number%2==0]
print(*numbers, sep=", ")

输出

0, 2, 4, 6, 8  

在so中提出了一个非常相似的问题。你可以在这里找到详细的解释 Python - printing out list separated with comma

【讨论】:

    【解决方案2】:

    从 0 开始,增加到 2 可能会有用。

    start = int(input("Enter a number: "))
    for number in range(0, start, 2):
        if (number >= start-2):
            print("{0}".format(number))
            break
        print("{0}".format(number), end=",")
    

    【讨论】:

      【解决方案3】:

      我会将结果存储在一个列表中,然后在最后join它们:

      start = int(input("Enter a number: "))
      results = []
      
      for number in range(0, start):
          if (number % 2 == 0):
              results.append(number)
      
      print(",".join(map(str, results)))
      

      【讨论】:

      • 添加更改 Traceback 时出现此错误(最近一次调用最后一次):文件“/Users/freed/Desktop/M3L4.py”,第 15 行,在 print("," .join(results)) TypeError: sequence item 0: expected str instance, int found
      • 你不能用这样的列表加入一个字符串。
      • @FishingCode 没错。我更新了将输入转换为字符串的答案。
      • 另一种简单的方法@Freedom220,是在 if 语句之后使用 while 循环,以防止在您的格式中包含 start 数字,即 10。
      • 效果很好,但是如何删除最终输出和逗号。
      【解决方案4】:
      >>> print(*range(0, start, 2), sep=',')
      0,2,4,6,8
      

      【讨论】:

        【解决方案5】:

        你可以试试这个..

        start = int(input("Enter a number: "))
        
        ','.join([str(x) for x in range(start) if x % 2 ==0])
        

        结果:

        '0,2,4,6,8'
        

        【讨论】:

          【解决方案6】:
          start = int(input("Enter a number: "))
          answer = ''
          for number in range(1, start + 1):
              if (number % 2 == 0):
                  answer += ("{0},".format(number))
          if f"{start}," in answer:
              answer = answer.replace(f",{start},", '')
          print(answer)
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-12
            • 2011-10-17
            • 1970-01-01
            • 2010-10-05
            • 2010-12-14
            • 2013-03-25
            相关资源
            最近更新 更多