Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 24, 2023 12:40:27

E_off
Зарегистрирован: 2023-02-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь в проверке типа данных

Привет! Я новичок и только учусь, делал недавно задачу по построению треугольника, НО!Проблема в том, что я не могу сделать проверку на тип данных, то есть, мне нужно чтобы при вводе не числа выдавало
'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()

Отредактировано E_off (Фев. 24, 2023 14:27:36)

Прикреплённый файлы:
attachment решать (1).py (1,2 KБ)

Офлайн

#2 Фев. 26, 2023 19:49:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Нужна помощь в проверке типа данных

 try:
    a=int("aaa")
except ValueError as e:
    print("qq")

даст “qq”



Офлайн

#3 Март 6, 2023 04:18:18

Lukoris
Зарегистрирован: 2022-12-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь в проверке типа данных

В Python 3.10 появилась конструкция match которая реализует switch case.
В *выражение match использовать type(object) который вернёт тип объекта и сделать выборку case с полученным типом.
Или при использовании условного оператора If для получения проверки на тип, можно использовать функцию isinstance(object, classinfo) которая вернёт True при соответствии класса(типа) аргумента объекта.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version