Python 使用while循环让用户尝试3次输入有效值 计数器=0 英里=浮动(输入('要将多少英里转换为公里?')) 当英里数小于0时: 打印('不能输入负值!') 英里=浮动(输入('输入正确的英里数:')) 计数器=计数器+1 如果计数器>2: 打破 如果计数器

Python 使用while循环让用户尝试3次输入有效值 计数器=0 英里=浮动(输入('要将多少英里转换为公里?')) 当英里数小于0时: 打印('不能输入负值!') 英里=浮动(输入('输入正确的英里数:')) 计数器=计数器+1 如果计数器>2: 打破 如果计数器,python,validation,counter,Python,Validation,Counter,在管理两种退出条件时只是一个小混乱。在while语句中检查这两个选项,您就会没事了。我用序列(-1,-1,-1),(-1,-1,5)和(-1,5)测试了这一点。每次都很好 counter = 0 miles = float(input('How many miles do you want converted into kilometers? ')) while miles < 0: print('You cannot enter a negative value!') m

在管理两种退出条件时只是一个小混乱。在while语句中检查这两个选项,您就会没事了。我用序列(-1,-1,-1),(-1,-1,5)和(-1,5)测试了这一点。每次都很好

counter = 0
miles = float(input('How many miles do you want converted into kilometers? '))
while miles < 0:
    print('You cannot enter a negative value!')
    miles = float(input('Enter the correct number of miles: '))
    counter = counter + 1
    if counter > 2:
        break
if counter <= 2:
    milesToKm = (miles*1.6)
    print(miles, 'miles is', round(milesToKm,2), 'kilometers')
else:
    print('Error: cannot exceed three attempts')
    exit()

这只是管理两种退出条件的一个小混乱。在while语句中检查这两个选项,您就会没事了。我用序列(-1,-1,-1),(-1,-1,5)和(-1,5)测试了这一点。每次都很好

counter = 0
miles = float(input('How many miles do you want converted into kilometers? '))
while miles < 0:
    print('You cannot enter a negative value!')
    miles = float(input('Enter the correct number of miles: '))
    counter = counter + 1
    if counter > 2:
        break
if counter <= 2:
    milesToKm = (miles*1.6)
    print(miles, 'miles is', round(milesToKm,2), 'kilometers')
else:
    print('Error: cannot exceed three attempts')
    exit()

您的问题是,在顶部执行
循环后,计数器将大于2。也就是说,3。现在,如果计数器2:
打印('错误:不能超过三次尝试')
打破
打印(英里,“英里是”,圆形(英里公里,2),“公里”)

您的问题是,当您在顶部执行
循环时,计数器将大于2。也就是说,3。现在,如果计数器2:
打印('错误:不能超过三次尝试')
打破
打印(英里,“英里是”,圆形(英里公里,2),“公里”)

谢谢你的帮助,普伦姆!谢谢你的帮助,普伦姆!一定要记住“接受”一个答案,这样这个问题就可以适当地回避了。这可以包括混合你得到的所有帮助,自己写一个答案,并接受“所有可能的世界中最好的”。记住“接受”一个答案,这样问题就可以适当地回避。这可以包括混合你得到的所有帮助,自己写一个答案,并接受“所有可能的世界中最好的”。
for counter in range(3):
    miles = float(input('How many miles do you want converted into kilometers? '))
    if miles >= 0:
        break
    print('You cannot enter a negative value!')

else:
    print('Error: cannot exceed three attempts')
    exit()

milesToKm = (miles*1.6)
print(miles, 'miles is', round(milesToKm,2), 'kilometers')
counter = 0

while miles < 0:
    # ...
    if counter > 2:
        print('Error: cannot exceed three attempts')
        break

print(miles, 'miles is', round(milesToKm,2), 'kilometers')