Created
November 19, 2023 05:54
-
-
Save demetranadya/d533f2358eb3d6c02db1ac53aaf66bcd to your computer and use it in GitHub Desktop.
python aprogramm args
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Задание | |
# Представьте, что вам заказали написать программу, которая по ответам пользователя умела бы определять его пол. Необходимо написать скрипт, который в качестве аргументов принимает несколько факторов (именованных аргументов): | |
# "barbie"— говорит об отношении пользователя к куклам. Это целое число в диапазоне от 0 до 100, значение по умолчанию — 50; | |
# "cars"— говорит об отношении пользователя к машинам. Значение задается аналогично предыдущему. | |
# "movie"— это любимая телевизионная программа пользователя из списка [melodrama, football, other]. По умолчанию — other. | |
# На выходе же скрипт должен выводить вероятность мужского и женского пола пользователя от 0 до 100% по формуле | |
# boy = (100 − barbie + cars + movie)∕3, | |
# girl = (100 − boy). | |
# После вычисления значение boy надо привести к целому числу операцией int(value). | |
# Значение movie надо перевести в число по следующему принципу: | |
# melodrama = 0 | |
# football = 100 | |
# other = 50 | |
# Если пользователь вводит некорректное значение, то оно должно стать равным 50. (107 => 50). | |
# Пример 1 | |
# Ввод Вывод | |
# python3 solution.py —cars 80 —barbie 0 —movie football | |
# boy: 93 | |
# girl: 7 | |
# Пример 2 | |
# Ввод Вывод | |
# python3 solution.py | |
# boy: 50 | |
# girl: 50 | |
# Примечания | |
# Необходимо использовать библиотеку argparse | |
# Решение | |
import argparse | |
parser = argparse.ArgumentParser() | |
max_int = 100 | |
min_int = 0 | |
middle = 50 | |
parser.add_argument('--barbie', nargs='?', const=50, default=50, type=int, help='This will be option One') | |
parser.add_argument('--cars', nargs='?', const=50, default=50, type=int, help='This will be option Two') | |
parser.add_argument('--movie', nargs='?', const='other', default='other', type=str, help='This will be option Three') | |
args = parser.parse_args() | |
dict_m = { | |
'melodrama': 0, 'football': 100, 'other': 50 | |
} | |
one = args.barbie | |
two = args.cars | |
three = dict_m.get(args.movie) | |
if not three: | |
three = args.get('other') | |
if (one > max_int) or (one < min_int): | |
one = middle | |
if ((two > max_int) or (two < min_int)): | |
two = middle | |
boy = int((100 - one + two + three) / 3) | |
girl = 100 - boy | |
print("boy: ", boy) | |
print("girl: ", girl) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Огромное человеческое спасибо