Выводиться не то что нужно, что не так?

Пишу программу парсинга сайтов, но написал только одну функцию, но она работает не так как я хотел. Мой код:

from math import ceil as n

site = 0

genre = str(input('1.сайт1 2.сайт2 \n Напишите цифру сайта:  '))

q = int(input('Какое количество материала вы хотите получить?: '))
# делим на 30 потому что на сайте 30 материалов, потом округляя мы узнаём сколько страниц нам нужно
q /= 30
q = n(q)
print(q)

if genre == 1:
    site = f'сайт1.ру/?с={q}'
if genre == 2:
    site = f'сайт2.ру/?с={q}'


print(site)

в идеале на данные:

1.сайт1 2.сайт2 
 Напишите цифру сайта:  1
Какое количество материала вы хотите получить?: 60

программа должна ответить этим:

сайт1.ру/?с=2

но она отвечает этим:

2
0

Почему так происходит я не знаю


Ответы (2 шт):

Автор решения: Mootfrost

Двойку выводит print(q), а в if вхождений нет т.к. при вводе вы конвертируете str в str, а потом сравниваете с int:

genre = str(input('1.сайт1 2.сайт2 \n Напишите цифру сайта:  '))  # str
if genre == 1:  # str == int

По сути надо конвертировать в int:

genre = int(input('1.сайт1 2.сайт2 \n Напишите цифру сайта:  '))

и убрать вывод q

→ Ссылка
Автор решения: Danis

input выдаёт вам строку и вы сравниваете его с числом

genre = str(input('1.сайт1 2.сайт2 \n Напишите цифру сайта:  '))

замените на

genre = int(input('1.сайт1 2.сайт2 \n Напишите цифру сайта:  '))
→ Ссылка