如何在循环时运行某些python程序而不运行连续循环

2024-05-17 02:37:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图得到一个程序来要求的费用 然后要求保证金。 我想用不同的保证金重复一遍。我尝试过不同的方法,但都会导致一个连续的循环。你知道吗

几年前,我有这个程序,它的工作,我记得它是相当简单,但我不能得到它现在。你知道吗

我不记得我试过的所有东西。我试图张贴一些,而如果我在这里试图发言,但它不会让我,因为我不知道如何格式化,所以它会张贴。尝试了不同的while语句,if,else语句,continue,break。你知道吗

cost = input('Enter cost: ')
cost = float(cost)
margin = input('Enter margin: ')
margin= float(margin)
while margin != 0:
    print('List equals', cost/margin)

希望它要求成本和利润。然后将成本除以保证金,给出答案,然后重复,直到输入止损或保证金不等于某个金额。你知道吗


Tags: 方法margin保证金程序inputif语句float
2条回答

当前形式的脚本读取输入并将其设置为cost的浮点,然后margin如果margin不是0,则进入循环。所以假设你为margin设置了一些非零值,你就进入了循环。但一旦进入循环,就永远不会更改margin的值,因此循环的条件永远保持True。你知道吗

相反,您可以运行一个无限循环,并在循环的每次迭代中保持对边距的读取。如果margin的值不是0,它将打印结果。如果margin的值为0,则循环将中断。你知道吗

cost = float(input('Enter cost: '))
while True:
    margin = float(input('Enter margin: '))
    if margin:
        print('List equals', cost/margin)
    else:
        break

输出

Enter cost: 10
Enter margin: 2
List equals 5.0
Enter margin: 3
List equals 3.3333333333333335
Enter margin: 0

Process finished with exit code 0

您可以使用下面的代码段来实现这一点

while True :
    cost = input('Enter cost: ')
    cost = float(cost)
    margin = input('Enter margin: ')
    margin= float(margin)
    print(margin)
    if margin != 0 :   # or what ever value you want it to be
        print('List equals', cost/margin)
        break
    else :
        continue

结果:

Enter cost: 0
Enter margin: 10
10.0
Enter cost: 20
Enter margin: 20
20.0
List equals 1.0
        -

相关问题 更多 >