Программа доходит до оператора print() и заканчивает работу
Вот код:
Dominant = str(input('Введите букву доминантного признака: '))
Recesive = str(input('Введите букву рецесивного признака: '))
Dominant = str(Dominant.upper())
Recesive = str(Recesive.lower())
fst = str(input('Введите обозночение для ♀ с помощью цифр: ' + Dominant + ' - 1; ' + Recesive + ' - 2 '))
snd = str(input('Введите обозночение для ♂ с помощью цифр: ' + Dominant + ' - 1; ' + Recesive + ' - 2 '))
if len(fst) >= 3 or len(snd) >= 3:
print("Я ещё не умею такое решать")
input()
exit()
if fst[0] == 1 and fst[1] == 1 or fst[0] == 2 and fst[1] == 2: # проверка на гомозиготность ♀
if snd[0] == 1 and snd[1] == 1 or snd[0] == 2 and snd[1] == 2: # проверка на гомозиготность ♂
if fst[0] == 1 and fst[1] == 1: # если ♀ с домитантным набором генов
fstzig = Dominant # зигота ♀
else: # если ♀ с рецесивным набором генов
fstzig = Recesive
if snd[0] == 1 and snd[1] == 1: # если ♂ с домитантным набором генов
sndzig = Dominant # зигота ♂
else: # если ♂ с рецесивным набором генов
sndzig = Recesive
print('P: ♀ {0}{0}, x ♂ {1}{1}'.format(fstzig, sndzig))
print(' | |')
программа пишется для решения задач по генетике, под первый закон Менделя. И при вводе следующих данных:
у
е
11
22
должна вывести строку:
P: ♀ УУ x ♂ ее
однако просто заканчивает работу. Я пробовал несколько вариантов и с форматированием и без.
Ответы (1 шт):
Автор решения: Интик
→ Ссылка
ваша ошибка что вы сравниваете разные типы данных. при вводе у вас получается str, а сравнение вы делаете с int. поэтому все условия уходят в "ложь"
Dominant = "y"
Recesive = "e"
Dominant = str(Dominant.upper())
Recesive = str(Recesive.lower())
fst = "11"
snd = "22"
if len(fst) >= 3 or len(snd) >= 3:
print("Я ещё не умею такое решать")
input()
exit()
if fst[0] == "1" and fst[1] == "1" or fst[0] == "2" and fst[1] == "2": # проверка на гомозиготность ♀
if snd[0] == "1" and snd[1] == "1" or snd[0] == "2" and snd[1] == "2": # проверка на гомозиготность ♂
if fst[0] == "1" and fst[1] == "1": # если ♀ с домитантным набором генов
fstzig = Dominant # зигота ♀
else: # если ♀ с рецесивным набором генов
fstzig = Recesive
if snd[0] == "1" and snd[1] == "1": # если ♂ с домитантным набором генов
sndzig = Dominant # зигота ♂
else: # если ♂ с рецесивным набором генов
sndzig = Recesive
print('P: ♀ {0}{0}, x ♂ {1}{1}'.format(fstzig, sndzig))
print(' | |')
результат
P: ♀ YY, x ♂ ee
| |