【问题标题】:Multiply by 2 - Python乘以 2 - Python
【发布时间】:2021-12-30 09:04:36
【问题描述】:

输入是数字,直到输入负数,之前的每个数字都乘以 2,然后打印结果并格式化为逗号后的第二位数字。 我尝试了以下方法,但是循环只是无休止地继续给我一个结果,我怎样才能让它停止并与下一个输入相乘?

x = float(input())
while x > 0:
    result = x * 2
    if x < 0:
        print('Negative number!')
    print(f'Result: {result:.2f}')

【问题讨论】:

  • 输入是在循环之前,而不是在循环内部;所以这只发生一次。
  • 你可以把你的输入代码放在while循环里面。
  • if x &lt; 0: 永远不会是真的,因为你只有在x &gt; 0 时才会进入循环
  • 我也不完全确定应该使用 while 循环,而不是 for
  • 如果您想按预定次数执行某事,则 For 循环会更好。如果您想在满足某个条件之前执行某些操作,则 while 循环会更好

标签: python loops if-statement while-loop multiplication


【解决方案1】:

您的代码存在许多问题。这是固定版本:

while True:
    x = float(input("Input: "))
    if x < 0:
        print('Negative number!')
        break
    else:
        result = x * 2
        print(f'Result: {result:.2f}')


需要“break”来中断第一个错误结果的while循环。

【讨论】:

  • 非常感谢您的详细回答,我一定会再看一遍循环并修复我的错误。我不完全确定整个事情应该是什么样子,但这已经发出了一些光芒。
猜你喜欢
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
  • 2014-11-05
相关资源
最近更新 更多