如果输入错误,如何返回循环开始?

时间:2017-03-14 14:00:51

标签: python loops

我有一个代码(它是较大代码的一部分所以它看起来有点愚蠢)。

width = int(input('Enter the width: '))
height = int(input('Enter the height: '))

while True:
    point = input('Shall we add a point (Y/N)? ')
    if point == 'Y' or point == 'y':
        x_coord = int(input('Enter X-coordinate: '))
        if x_coord <= 0 or x_coord > width:
            print('The point is outside the system.')
            break
        y_coord = int(input('Enter Y-coordinate: '))
        if y_coord <= 0 or y_coord > width:
            print('The point is outside the system.')
            break
    else:
        if point == 'n' or point == 'N':
            break
        print("Erroneous input!")

所以我的问题是如果x或y坐标错误,则返回循环的开始。我的代码只是打破循环并结束程序。所以它应该举例说明。

Enter the width: 5
Enter the height: 5
Shall we add a point (Y/N)? Y
Enter X-coordinate: 16
The point is outside the coordinate system.
Shall we add a point (Y/N)? N

只要您输入决定停止,循环就会继续。

但是我的代码给出了:

Enter the width: 5
Enter the height: 5
Shall we add a point (Y/N)? y
Enter X-coordinate: 16
The point is outside the system.

然后结束。

0 个答案:

没有答案