Lendo entrada com readline()
Parte da seção Fundamentos do Journey de R da Coddy. Lição 29 de 78.
Até agora, você aprendeu a exibir resultados. Agora é hora de tornar seus programas interativos lendo a entrada do usuário. A função readline() permite capturar o que o usuário digita.
name <- readline()
cat("Hello,", name, "\n")Quando esse código é executado, R espera que o usuário digite algo e pressione Enter. Tudo o que ele digitar será armazenado na variável name. Se o usuário digitar "Alice", a saída será: Hello, Alice
Uma coisa importante a saber: readline() sempre retorna uma string de caracteres, mesmo que o usuário digite um número. Se alguém inserir "25", isso será armazenado como o texto "25", não como o número 25. Você aprenderá a converter entre tipos na próxima lição.
Você pode ler várias entradas usando readline() várias vezes:
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")Cada chamada de readline() aguarda uma linha separada de entrada do usuário.
Ao combinar texto com variáveis usando cat(), cada item separado por uma vírgula recebe um espaço entre eles. Às vezes, você precisa juntar texto sem nenhum espaço, por exemplo, para anexar pontuação diretamente a uma palavra. É aí que paste0() é útil. Ele concatena strings com nenhum separador entre elas:
city <- readline()
cat("Welcome to", paste0(city, "!"), "\n")Aqui, paste0(city, "!") une o valor de city e "!" sem espaço, portanto, se o usuário digitar "Paris", a saída será: Welcome to Paris!
Desafio
FácilLeia duas linhas de entrada e exiba uma mensagem de saudação personalizada.
Você receberá duas entradas:
- Um primeiro nome
- O nome de uma cidade
Leia ambas as entradas usando readline() e exiba uma mensagem no seguinte formato:
Welcome, [name] from [city]!Use cat() para produzir a saída. Certifique-se de incluir o ponto de exclamação no final e um caractere de nova linha \n.
Por exemplo, se as entradas forem Emma e Paris, a saída deverá ser:
Welcome, Emma from Paris!Experimente você mesmo
# Ler a entrada
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))
# TODO: Escreva seu código abaixo para exibir a mensagem de saudação
# Use cat() para exibir: Welcome, [name] from [city]!
# Não se esqueça do caractere de nova linha \n no finalEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores - Parte 2
Operadores lógicos (AND, OR)Operadores lógicos - Parte 2 (NOT)Revisão - Lógica simplesLógica vetorizada - Parte 1Lógica vetorizada - Parte 27Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços
Laço ForLaço WhileBreakNext (Continue)Revisão - FatorialGeração de Sequências (seq, :)Laços AninhadosRevisão - Entrada Dinâmica3Operadores - Parte 1
Operadores aritméticosDivisão inteira e móduloOperadores de atribuiçãoRevisão - Matemática simplesOperadores de comparação6Entrada e saída básicas
Imprimir saídacat para saídaSaída com variáveisLendo entrada com readline()Noções básicas de conversão de tiposRecapitulação - Calculadora de idadeRecapitulação - Verdadeiro ou falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetros PadrãoPratique por conta própria: Compilador de R online