Целые числа и элифы Python - PullRequest
0 голосов
/ 16 мая 2018

Я делаю AI, я хочу, чтобы код понимал, что что-то является целым числом

elif inp==("i am", int):
  print("You are "x" years old")

inp - это моя переменная

elif="i am", int ,"years old":
  print("You are", int ,"years old")

Это то, что я хочу.Но для того, чтобы это действительно сработало, я хочу, чтобы оно понимало, что там есть целое число.

Если бы они сказали "I am awesome", это бы сделало это, но если бы они поставили "I am 14", это вывело быYou are "x" years old.Я в порядке с битом печати и с тем, сколько им на самом деле лет.Но я просто хочу, чтобы код распознал, что там есть число.

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Если ваша входная строка всегда будет в одном и том же формате, то есть последнее слово будет целым или чем-то еще.Вы можете попробовать:

my_input_list = my_input.split()  # Split your sentence into list
last_word = my_input_list[-1]     # Get last word
if isinstance(last_word , int):   # Check is last word in "int" type
    print("You are {age}" years old) 
else: 
    print(my_input)

Но когда вы пишете AI, ваш код будет усложняться в будущем.Вы должны исследовать, используя regex как упомянуто @Rakesh.

0 голосов
/ 16 мая 2018

Добавить проверку типа перед печатью. Вы также можете добавить raise TypeError или InputError, если хотите.

if type(age) == type(1):
    #continue with printing
else:
    raise InputError('age must be an integer)

Или, что еще лучше, print('age must be an integer ') вместо сообщения об ошибке

0 голосов
/ 16 мая 2018

Учитывая простой текст, довольно легко извлечь целое число (код Python 3):

import re

while True:

    # I have no idea where your text is coming from, this is for testing
    line = input("enter text: ")
    if not line: break

    # The regular depression means "one or more characters in the range 0-9"
    m = re.search(r'([0-9]+)', line)
    if m:
        print(m.groups()[0])   # << This hold the integer string

    # if m is false, there is no integer

Если может быть более одного целого числа, может потребоваться другое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...