我是一个新的编码,我不断得到:如果rentalCode=='D'和averageDayMiles<100:TypeError:unorderable types:str()<int()

2024-06-25 23:03:14 发布

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

4) 了解总里程:

提示-->;totalMiles=int(odoEnd)-int(odoStart)

提示-->;averageDayMiles=totalMiles/daysRented

总里程=?你知道吗

    totalMiles = 2222 - 1234

    averageDayMiles = input(totalMiles/daysRented)

    if rentalCode == 'D' and averageDayMiles < 100:

        mileCharge = 0

   if averageDayMiles > 100 and rentalCode == 'D':

       extraMiles = averageDayMiles - 100

       mileCharge = extraMiles * 0.25*daysRented

   elif rentalCode == 'W':

      weeksRented = rentalPeriod

      averageMiles = totalMiles/weeksRented

   if averageMiles > 900:

     mileCharge = weeksRented * 100.00

  else:

    mileCharge = 0

我很难弄清楚如何编写上述代码,这样就不会出现以下错误:TypeError:unorderable types:str()<;int()

如果有人有建议或可以引导我的方向,一个链接或阅读,这将有助于我更好地理解我将不胜感激。先谢谢你


Tags: andgtifint里程daysrentedrentalcodeweeksrented
1条回答
网友
1楼 · 发布于 2024-06-25 23:03:14

这里的问题是python3中的输入总是返回字符串,而不是整数。因此,当你写averageDayMiles>;100时,你是在比较一个单词和一个数字。你需要写以下内容:

if int(averageDayMiles) > 100 and rentalCode == 'D':

int(averageDayMiles)将字符串转换为int

相关问题 更多 >