Combien connaissez-vous les bases de Python?

problème

Faites entrer votre année comme préamètre --Retournez "drink toddy" si vous avez moins de 14 ans --Revenez "boire du coke" si vous avez moins de 18 ans --Retour "boire de la bière" si moins de 21 ans --Revenez "boire du whisky" si vous avez plus de 21 ans Écrivons la fonction people_with_age_drink (age).

Cependant, vous devez réussir le test unitaire suivant.

people_with_age_drink(13) == "drink toddy"
people_with_age_drink(17) == "drink coke"
people_with_age_drink(18) == "drink beer"
people_with_age_drink(20) == "drink beer"
people_with_age_drink(30) == "drink whisky"

répondre

"Il y a plus d'une façon de le faire" n'est pas seulement pour Perl. Toutes les réponses suivantes sont correctes

def people_with_age_drink(age):
    if age<14 :
        return "drink toddy"
    elif age >= 14 and age < 18 :
        return "drink coke"
    elif age >= 18 and age < 21 :
        return "drink beer"
    else:
        return 'drink whisky'
def people_with_age_drink(age):
    if age < 14:
        return 'drink toddy'
    elif age >= 14 and age < 18:
        return 'drink coke'
    elif age >= 18 and age < 21:
        return 'drink beer'
    else:
        return 'drink whisky'
    return 'ERROR....WRONG INPUT'
def people_with_age_drink(age):
    return 'drink ' + next(d for a, d in [
        (21, 'whisky'), (18, 'beer'), (14, 'coke'), (0, 'toddy')
        ] if age >= a)
def people_with_age_drink(age):
    if 14 > age >= 0:
        return "drink toddy"
    if age < 18:
        return "drink coke"
    if age < 21:
        return "drink beer"
    return "drink whisky"    
def people_with_age_drink(age):
    if age<=13:    
        drink="toddy"
    elif age> 13 and age<=17:
        drink="coke"
    elif age<=20:
        drink="beer"
    else:   
        drink="whisky"
    return "drink " + drink
def people_with_age_drink(age):
    if (age < 14):
        return "drink toddy"
    if (age < 18):
        return "drink coke"
    if (age < 21):
        return "drink beer"
    if (age > 20):
        return "drink whisky"
def people_with_age_drink(age):
    if age > 20: return 'drink whisky'
    if age > 17: return 'drink beer'
    if age > 13: return 'drink coke'
    return 'drink toddy'
def people_with_age_drink(age):
    for a in [[21,'whisky'],[18,'beer'],[14,'coke'],[0,'toddy']]:
        if age >= a[0]:
            return "drink {0}".format(a[1])
def people_with_age_drink(age):
    table = { 13: "drink toddy", 17: "drink coke", 20: "drink beer", 200: "drink whisky" }
    vec = sorted(list(table.keys()))
    for key in vec:
        if age <= key:
            return table[key]
def people_with_age_drink(age):
    if age < 14: this = 'toddy'
    elif age < 18: this = 'coke'
    elif age < 21: this = 'beer'
    else: this = 'whisky'
    return 'drink {}'.format(this)
 def people_with_age_drink(age):
    drink = "toddy" if age < 14 else "coke" if age < 18 else "beer" if age < 21 else "whisky"
    return "drink " + drink
def people_with_age_drink(age):
    return "drink toddy" if age<14 else "drink coke" if age<18 else "drink beer" if age<21 else "drink whisky"
age_with_drink = {0: 'toddy', 14: 'coke', 18: 'beer', 21: 'whisky'}
def people_with_age_drink(age):
    return 'drink ' + next(age_with_drink[a] for a in sorted(age_with_drink, reverse=True) if age >= a)
def people_with_age_drink(age):
    bounds = [14,18,21,age+1]
    drinks = ["toddy","coke","beer","whisky"]
    for x in range(len(bounds)): 
        if age < bounds[x]: return "drink " + drinks[x]
drinks = [
    ("whisky", 21),
    ("beer", 18),
    ("coke", 14),
]
def people_with_age_drink(age):
    return "drink " + next((drink for drink, age_limit in drinks if age >= age_limit), "toddy")
def people_with_age_drink(age):
    for (lim, drink) in [(14,"toddy"), (18, "coke"), (21, "beer"), (float('inf'), "whisky")]:
        if age < lim:
            return "drink " + drink
def people_with_age_drink(age):
    res = "drink whisky"
    drinks = (
        (14, "drink toddy"),
        (18, "drink coke"),
        (21, "drink beer"),
    )
    for a in drinks:
        if age < a[0]:
            res = a[1]
            break
    return res
def people_with_age_drink(age):
    return 'drink ' + ('toddy' if age < 14 else 'coke' if age < 18 else 'beer' if age < 21 else 'whisky')
def people_with_age_drink(age):
   return 'drink '+['toddy', 'coke', 'beer', 'whisky'][(age/3>5)+(age/7>1)+(age/7>2)]
def people_with_age_drink(age):
    predMessage = [(age < 14, "toddy"), (age < 18,"coke"),
                   (age < 21, "beer"), (age >= 21, "whisky")]
    for filt,message in predMessage:
        if filt:
            return "drink " + message
def people_with_age_drink(age):
    return "drink {}".format("toddy" if age < 14 else
                             "coke"  if age < 18 else
                             "beer"  if age < 21 else
                             "whisky")
import sys
def people_with_age_drink(age):
    drink = (( 0, 13, 'toddy'),
             (14, 17, 'coke'),
             (18, 20, 'beer'),
             (21, sys.maxint, 'whisky'))
    return 'drink ' + filter(lambda d: d[0] <= age <= d[1], drink)[0][2]
people_with_age_drink = lambda old: "drink " + ((("whisky", "beer")[old < 21], "coke")[old < 18], "toddy")[old < 14]
people_with_age_drink = lambda age: 'drink ' + ('toddy' if age < 14 else 
                                                'coke'  if age < 18 else
                                                'beer'  if age < 21 else
                                                'whisky')

Il semble y avoir de nombreuses réponses au problème FizzBuzz. On dit souvent que Python est "un code similaire, peu importe qui l'écrit", mais je ne pense pas.

Recommended Posts

Combien connaissez-vous les bases de Python?
Je ne connaissais pas les bases de Python
Revue des bases de Python (FizzBuzz)
À propos de la liste de base des bases de Python
Apprenez les bases de Python ① Débutants élémentaires
[Python3] Comprendre les bases de Beautiful Soup
Comment connaître la structure interne d'un objet en Python
Expliquer le mécanisme de Linux que vous ne connaissez pas de manière inattendue
Les bases de Python ①
Bases de python ①
Principes de base pour exécuter NoxPlayer en Python
[Python3] Comprendre les bases des opérations sur les fichiers
Combien de types de Python avez-vous dans votre Windows 10? J'avais 5 types.
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Principes de base du grattage Python
le zen de Python
# 4 [python] Bases des fonctions
Bases de python: sortie
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Combien de types de Python avez-vous dans votre macOS? J'avais 401 types.
Vous serez ingénieur dans 100 jours --Jour 32 --Python --Basiques du langage Python 7
Vous serez ingénieur dans 100 jours --Jour 28 --Python --Les bases du langage Python 4
Comment connaître le numéro de port du service xinetd
Comment obtenir le nombre de chiffres en Python
Comment connaître le répertoire actuel en Python dans Blender
Décomposons les bases du code Python de TensorFlow
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
Quel jour achetez-vous de l'argent?
[Python] Résumé de la façon de spécifier la couleur de la figure
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
[Python] Comment utilisez-vous les expressions lambda? ?? [Gribouillis] [Suite-1]
Environnement mineur Python Retsuden-Combien d'environnements Python connaissez-vous? ~
EP 1 Sachez quelle version de Python vous utilisez.
[Introduction à Python] Utilisation basique de la bibliothèque scipy que vous devez absolument connaître
Vers la retraite de Python2
python: principes de base de l'utilisation de scikit-learn ①
À propos des fonctionnalités de Python
Comment collectez-vous les informations?
Principes de base de Python x SIG (1)
Le pouvoir des pandas: Python
Sakura L'histoire du fonctionnement de la bouteille Python sur Internet
Ce que vous pouvez faire avec les statistiques de la bibliothèque Python standard
Je ne savais pas comment utiliser l'instruction [python] for
Le websocket de toio (nodejs) et python / websocket ne se connecte pas.
Je veux connaître la nature de Python et pip
[Python] Que faites-vous avec la visualisation de 4 variables ou plus?
Principes de base de Python x SIG (3)
Paiza Python Primer 5: Principes de base des dictionnaires
[Python] Comment faire PCA avec Python
L'histoire de Python et l'histoire de NaN
Comment déterminer l'existence d'un élément sélénium en Python
[Python] Comment forcer une méthode d'une sous-classe à effectuer un processus spécifique
Comment modifier le niveau de journalisation d'Azure SDK pour Python
[Python] La pierre d'achoppement de l'importation
First Python 3 ~ Le début de la répétition ~
Avez-vous besoin de Python re.compile?
Comment vérifier la taille de la mémoire d'une variable en Python