如何在不运行连续循环的情况下运行某个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)

期望它要求成本和利润。然后将成本除以保证金,给出答案并重复,直到我进入停止或保证金不等于一定数额。

当前形式的脚本读取输入并将其设置为costmargin的浮点值,然后如果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
-----------------

相关内容

最新更新