python - 继续提示用户输入,直到输入 0
问题描述
我的代码有问题。不知道如何修复它。我的程序反复提示要访问的超市过道号码。当输入 0 时,输入过程将终止。然后程序根据放置购物篮的最佳位置和我需要从中挑选物品的过道数来计算最小距离。然后程序显示最小距离。以下是我的代码:
totalAisles = int(input("Enter the number of aisles in supermarket: "))
visitAisle = int(input("Enter the aisle number to visit: "))
if visitAisle == 0:
print("Not visiting any aisle")
else:
aisle = []
while True:
visitAisle = int(input("Enter the aisle number to visit: "))
if visitAisle == 0:
break
else:
for i in range(totalAisles):
visitAisle = int(input("Enter the aisle number to visit: "))
aisle.append(visitAisle)
#to find the best aisle to place the basket
highestAisle = max(aisle)
lowestAisle = min(aisle)
basket = round(highestAisle + lowestAisle) / 2
minimumDistance += abs(basket - visitAisle) * 2
print(f"The minimum distance is {minimumDistance} units")
示例运行
运行 1 输入超市过道数:100
输入要参观的过道号:1
输入要参观的过道号:8
输入要参观的过道号:5
输入要参观的过道号:4
输入要参观的过道号:10
输入要参观的过道号:0
最小距离为 26 个单位
运行 2
输入超市过道数:100
输入要参观的过道号:1
输入要参观的过道号:0
最小距离为 0 个单位
运行 3
输入超市过道数:100
输入要参观的过道号:0
不参观任何过道
解决方案
这是我建议您的解决方法
visitAisle = int(input("Enter the aisle number to visit: "))
if visitAisle == 0:
print("Not visiting any aisle")
else:
aisle = []
while True:
visitAisle = int(input("Enter the aisle number to visit: "))
if visitAisle == 0:
break
else:
for i in range(totalAisles):
visitAisle = int(input("Enter the aisle number to visit: "))
if visitAisle == 0:
break
aisle.append(visitAisle)
#to find the best aisle to place the basket
highestAisle = max(aisle)
lowestAisle = min(aisle)
basket = round(highestAisle + lowestAisle) / 2
minimumDistance += abs(basket - visitAisle) * 2
if visitAisle == 0:
break
print("The minimum distance is ", minimumDistance)
我修改了程序的几行,但只是一点点。现在我希望你能理解问题的原因。
推荐阅读
- dialogflow-es - 如何使用 dialogflow 构建自然的对话流?
- vb.net - 如何使用 VB.Net 在 FileNet 中重新组合存储为单独 Base64 字符串的文档页面?
- typescript - 打字稿基本组件内的代码行没有被执行并且无法设置调试点
- python - 如何以毫秒为单位将 unix 时间戳转换为日期时间 python 3
- docker - 为什么要使用 docker ONBUILD?
- android - Navigator PushReplacementName 在颤动中给出返回按钮
- jquery - 如何将 3d 数组传播到由 3 个单独的表数据标签组成的表中?
- java - 无法自省类 [org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration]
- gradle - Gradle 单项目插件管理块不起作用(Kotlin DSL)
- asp.net - 将单体架构迁移到微服务