Skip to content
This page has been auto-translated and may contain errors.View in English

title: Mad libs description: Colete palavras do jogador e insira-as em um modelo de história usando f-strings.

Mad libs

Cass Okay, hi! Estou encarregada de entreter a equipe pelas próximas duas semanas e não planejei absolutamente nada. Você pode criar um mad libs? Pede algumas palavras para todos, insere-as em uma história, imprime o caos. Não precisa ser inteligente. De preferência não é 😄

O que você está construindo

Give me a noun: pizza
Give me a verb: exploded
Give me an adjective: sparkly
Give me a place: the library

The sparkly pizza exploded in the library. Nobody saw it coming.

O que você vai precisar

  • Output and input - coletando cada palavra do jogador
  • Strings - f-strings para inserir as palavras no modelo da história
  • Lists - uma forma de armazenar as palavras coletadas antes de usá-las
  • Functions - opcional, mas envolver "pedir uma palavra" em uma função deixa as coisas mais limpas

Dicas

Colete primeiro, depois imprima. Reúna todas as palavras antes de construir a história. Misturar chamadas de input() com a saída da história fica confuso rápido.

F-strings são o ajuste natural. Depois de ter todas as palavras, uma única f-string com as variáveis inseridas é tudo que você precisa para construir a linha de saída.

Variáveis ou uma lista. Você pode armazenar cada palavra em sua própria variável (noun = ..., verb = ...) ou coletá-las todas em uma lista. Qualquer uma funciona - pense em qual é mais limpo de ler quando você escrever a linha da história.

Indo além

Depois que a versão básica funcionar:

  • Múltiplos modelos. Escreva dois ou três modelos de história diferentes e escolha um aleatoriamente usando o módulo random.
  • Mais tipos de palavras. Adicione substantivos plurais, verbos no passado, números ou cores. Quanto mais espaços em branco, mais engraçado é o resultado.
  • Deixe o jogador escolher. Mostre os modelos de história disponíveis por nome e deixe o jogador escolher antes de coletar as palavras.