Скрипт выдает ошибку ValueError: invalid literal for int() with base 10: ' '

Vadim_23_03

Новичок
Пользователь
Апр 30, 2023
32
1
8
Windows 10
Python 3.11
Pycharm
Пишу программу по нахождению периметра многоугольника по точкам координат оси x и y . При помощи формулы
d={\sqrt  {(x_{{2}}-x_{{1}})^{{2}}+(y_{{2}}-y_{{1}})^{{2}}}}
я нахожу одну из длин сторон, а потом их суммирую .Согласно заданию ввод координат должен прекратится при нажатии Enter при вводе координаты х1, я использовал пробел. Но при вводе пробела мне выдает ошибку ValueError.Не могу понять как это по другому записать. Много ресурсов посмотрел, но ответа так и не нашел.
Python:
print("программа по вычеслению площади многоугульника")
print("Для окончания ввода координат нажмите пробел")
import math
x_1=int(input("Введите число х1: "))
while x_1!=" ":
    x_2=int(input("Введите число х2: "))
    y_1=int(input("Введите число у2: "))
    y_2=int(input("Введите число у2: "))
    d=math.sqrt((x_2+x_1)**2+(y_2+y_1)**2)
    s = 0
    f = s + d
    x_1=int(input("Введите число х1: "))
print(d,f)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 639
472
83
ошибку нужно до конца читать - ValueError: invalid literal for int() with base 10: ' '
потому что пробел нельзя привести к инту, так же у вас не определены переменные d, f

Python:
print("программа по вычеслению площади многоугульника")
print("Для окончания ввода координат нажмите пробел")
import math

d = 0
f = 0
x_1 = input("Введите число х1: ")
while x_1 != " ":
    x_2 = int(input("Введите число х2: "))
    y_1 = int(input("Введите число у2: "))
    y_2 = int(input("Введите число у2: "))
    d = math.sqrt((x_2 + int(x_1)) ** 2 + (y_2 + y_1) ** 2)
    s = 0
    f = s + d
    x_1 = input("Введите число х1: ")
print(d, f)
 
  • Мне нравится
Реакции: Vadim_23_03

Vadim_23_03

Новичок
Пользователь
Апр 30, 2023
32
1
8
ошибку нужно до конца читать - ValueError: invalid literal for int() with base 10: ' '
потому что пробел нельзя привести к инту, так же у вас не определены переменные d, f

Python:
print("программа по вычеслению площади многоугульника")
print("Для окончания ввода координат нажмите пробел")
import math

d = 0
f = 0
x_1 = input("Введите число х1: ")
while x_1 != " ":
    x_2 = int(input("Введите число х2: "))
    y_1 = int(input("Введите число у2: "))
    y_2 = int(input("Введите число у2: "))
    d = math.sqrt((x_2 + int(x_1)) ** 2 + (y_2 + y_1) ** 2)
    s = 0
    f = s + d
    x_1 = input("Введите число х1: ")
print(d, f)
Спасибо большое
 

Форум IT Специалистов