<p>在刘易斯先生代码中的问题是在for循环中提到的(i=i+1)。For循环将自动递增i直到它的最后一个索引不需要在For循环中增加(i),但是如果你想用while循环编写代码,你必须增加i</p>
<pre><code>print("NOTE: Parcels can only be smaller than 100x100x100cm (WxLxH)
and weight less than 20kg")
parcelAmount = int(input("How many parcels are you sending?: "))
#parcelWidth=[]
#parcelLength=[]
#parcelHeight=[]
#parcelWeight=[]
#parcelRej=0
#for i in range(parcelAmount):
parcelWidth.append(input("Please enter the width of the parcel " +
str(i + 1) + ": "))
parcelLength.append(input("Please enter the length of the parcel "
+ str(i + 1) + ": "))
parcelHeight.append(input("Please enter the height of the parcel "
+ str(i + 1) + ": "))
parcelWeight.append(input("please enter the weight of the parcel "
+ str(i + 1) + ": "))
# i = i + 1
if float(parcelWidth[i]) or float(parcelLength[i]) or float(parcelHeight[i]) > 100 or float(parcelWeight[i]) > 20:
parcelRej = parcelRej + 1
parcelAcc = parcelAmount - parcelRej
if float(parcelWeight[i]) > 1 and float(parcelWeight[i]) < 5:
parcelPrice[i] = 10
if float(parcelWeight[i]) > 5:
parcelPrice[i] = parcelWeight[i] - 5 + 10
print("There are " + str(parcelRej) + " parcels rejected")
print("There are " + str(parcelAcc) + " parcels accepted")
print("It will cost $" + str(sum(parcelPrice)) + " To ship the parcel")
</code></pre>
<p>我得到了错误,因为parcelPrice没有被定义,因为它的值。在</p>
<p>希望这对你有用。。在</p>