Я должен прочитать ввод и проверить, является ли число на самом деле числом с плавающей запятой или строкой STOP
. Когда я выполняю свою программу без двух закомментированных строк, результат выглядит так:
1.1
g=nan r=nan% s=nan
2.2
g=nan r=nan% s=nan
Код:
def CheckFloat(number):
try:
float(number)
return True
except ValueError:
return False
def read_input(period):
i = 0
info = []
nbr = []
diff = []
while True:
try:
# if not CheckFloat(input()) and input() != "STOP":
# exit(84)
info.append(input())
if info[i] == "STOP":
fnc_tendency(period, nbr)
else:
nbr.append(float(info[i]))
if i >= 0:
diff.append(nbr[i] - nbr[i - 1])
print_res(nbr, period, diff, i)
i += 1
except(EOFError, StopIteration):
exit(84)
Но когда я раскомментирую две строки
# if not CheckFloat(input()) and input() != "STOP":
# exit(84)
результат выглядит так:
1.1
2.2
g=nan r=nan% s=nan
Я теряю одну строчку печати, и я не знаю почему. Может ли кто-нибудь помочь мне с этим, пожалуйста?