<p>Python实际上离伪代码不远,实际上这里的问题不是代码而是逻辑。你知道吗</p>
<p>要获得基本的“循环直到进入零”,可以使用以下逻辑:</p>
<pre><code>miles = -1
while miles != 0:
miles = float(raw_input ('Enter Miles: '))
</code></pre>
<p>至于你自己的代码,你似乎在用while,而你的意思是if
在第二种情况下,实际上只是命名一个变量(getMiles),它什么也不做</p>
<p>整个代码可以如下所示:</p>
<pre><code>miles = float(raw_input ('Enter Miles: '))
while miles != 0:
fuelEcon = miles / 20
fuelCost = float(input ('Enter Cost of Fuel: $'))
costOfTrip = miles * fuelCost
fuelIncrease = (fuelCost * .1) + fuelCost
futureTrip = miles * fuelIncrease
print "Cost of Trip: $", costOfTrip
print "Cost of Trip With 10% Increase in Fuel Cost: $", futureTrip
miles = float(raw_input ('Enter Miles: '))
</code></pre>
<p>**不需要像其他人建议的那样使用“while true”,这从来都不是一件好事。你知道吗</p>
<p>更高级的版本是提取逻辑中可重复且独立于函数的部分</p>
<pre><code>def trip_cost(miles):
if(miles == 0):
return False
fuelEcon = miles / 20
fuelCost = float(input ('Enter Cost of Fuel: $'))
costOfTrip = miles * fuelCost
fuelIncrease = (fuelCost * .1) + fuelCost
futureTrip = miles * fuelIncrease
print "Cost of Trip: $", costOfTrip
print "Cost of Trip With 10% Increase in Fuel Cost: $", futureTrip
return True
while trip_cost(float(raw_input ('Enter Miles: '))):
pass
</code></pre>
<p>至于init是什么,这是一个更高级的面向对象的主题,您可能还不需要担心</p>