Найти - Пользователи
Полная версия: Нужна помощь в проверке типа данных
Начало » Python для новичков » Нужна помощь в проверке типа данных
1
E_off
Привет! Я новичок и только учусь, делал недавно задачу по построению треугольника, НО!Проблема в том, что я не могу сделать проверку на тип данных, то есть, мне нужно чтобы при вводе не числа выдавало
'you only need to use numbers', у меня не достаточно знаний, чтобы решить это( Я пытался сделать через проверку на инт или флоат, но i в for i in range даже букву превращает в int.Пытался сделать проверку через бесконечное множество чисел, но так как там float, а i нам выдает int, это не сработало

Помогите пожалуйста с этим заданием и если не сложно добавьте объяснений


 class TringalСhecker:
  def __init__(self,sides):
    self.sides=sides
  def is_trangle(self):
    sides_1=sides[0]
    sides_2=sides[1]
    sides_3=sides[2]
    if sides_1<=0 or sides_2<=0 or sides_3<=0:
      print('It wont work with negative numbers!')
    elif sides_1+sides_2<sides_3 or sides_1+sides_3<sides_2 or sides_2+sides_3<sides_1:
      print('Its a pity, but theres nothing to be done out of this triangle!')
    else:
      print('Yay, you can build a triangle!!')
sides_0=input('enter the sides of the triangle with a space:')
sides_0=sides_0.split(' ')
sides=[]
for i in range(3):
      sai=int(sides_0[i])
      sides.append(sai)
#for i in range(3):
  # ass=sides_0[i]
 #   for j in ass:
  #    if j in all_num:
    #    sai=int(sides_0[i])
    #    sides.append(sai)   
    #    print(j)
     #else:
     #   print('you only need to use numbers')
      #  print(ValueError)
        
print(sides[0])
print(sides[1])
print(sides[2])
Tringal_1= TringalСhecker(sides)
Tringal_1.is_trangle()
doza_and
 try:
    a=int("aaa")
except ValueError as e:
    print("qq")

даст “qq”
Lukoris
В Python 3.10 появилась конструкция match которая реализует switch case.
В *выражение match использовать type(object) который вернёт тип объекта и сделать выборку case с полученным типом.
Или при использовании условного оператора If для получения проверки на тип, можно использовать функцию isinstance(object, classinfo) которая вернёт True при соответствии класса(типа) аргумента объекта.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB