Сингл, если на 3 варианта выбора?(Я новичок) - PullRequest
0 голосов
/ 07 декабря 2018

Я абсолютный новичок.Я заставил свою программу работать, но код выглядит очень плохо, и я хочу сделать что-то с оператором if, чтобы избежать повторного вставки.Я пока не знаю функций (это можно сделать с помощью одного?), Только циклы, ifs и таблицы.

Вот код:

print("What do you want to do?\n1)Give me just service name\n2)generate a link with service name\n3)do something else")
czynnosc = input()
if czynnosc == "1":
print("which unit id?" )
unitid = input()
unitid = int(unitid)
service = ""
if unitid >= 100 and unitid < 10000:
    service= "OneOne"
elif unitid >= 10000 and unitid < 30000:
    service= "Awesome20k+"
elif unitid >= 30000 and unitid < 40000: 
    service= "Great30k+"
elif unitid>= 40000 and unitid < 50000:
    service= "Asom40k+"
elif unitid>= 50000 and unitid < 60000:
    service= "Amazin50k+"
elif unitid>= 70000:
    service= "new"
else:
    print("Please validate unit id.")
print(f"Service name is {service}")

Я хочу использовать тот же оператор if для генерации имени службы из unitid для варианта 2 и 3, без копирования и вставки целого оператора if снова ...

Возможно ли это?Как?

Спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018

Введите код, который вы можете и хотите использовать несколько раз в отдельной функции.Здесь поместите ваш if ... elif ... else в отдельную функцию (или, возможно, также):

def get_service_by_unitid(unitid):
    service = ""
    if unitid >= 100 and unitid < 10000:
        service= "OneOne"
    elif unitid >= 10000 and unitid < 30000:
        service= "Awesome20k+"
    elif unitid >= 30000 and unitid < 40000: 
        service= "Great30k+"
    elif unitid>= 40000 and unitid < 50000:
        service= "Asom40k+"
    elif unitid>= 50000 and unitid < 60000:
        service= "Amazin50k+"
    elif unitid>= 70000:
        service= "new"
    else:
        print("Please validate unit id.")
    return service

print("What do you want to do?\n1)Give me just service name\n2)generate a link with service name\n3)do something else")
czynnosc = input()
if czynnosc == "1":
    print("which unit id?" )
    unitid = input()
    unitid = int(unitid)
    service = get_service_by_unitid(unitid)
    print(f"Service name is {service}")
elif czynnosc == "2":
    print("Which cost id?")
    costid = input()
    costid = int(costid)
    cost = get_service_by_unitid(costid)
    print(f"Cost name is {cost}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...