Programa de revisão de matemática [fechado]

0

Eu criei um programa que irá selecionar aleatoriamente dois números de um intervalo e fazer uma pergunta de multiplicação a partir dele. Funciona bem, mas como eu sou novo também codifico, parece muito confuso e repetitivo. Eu venho aqui hoje para pedir ajuda. O que eu gostaria de ajudar é "Como eu faria meu código menos repetitivo e mais fácil de entender" Aqui está o meu código ... link

Aproveite!

Mais uma vez obrigado pela ajuda!

    
por Henry Eden-Mann 18.11.2015 / 21:17

1 resposta

1

Você pode remover a repetitividade usando um loop for . Consulte o link

Aqui está o que eu criei:

#!/bin/bash
read -p "Input the range you want to practice. For example: 1-12, 4-9, 9-11: " range

QUESTIONS=0
CORRECT=0

for i in {1..5}; do
  let QUESTIONS++
  n1=$(shuf -i $range -n 1)
  n2=$(shuf -i $range -n 1)
  realans=$((n1 * n2))
  read -p "${n1} x ${n2}? " ans
  if [[ $ans -eq $realans ]]; then
    let CORRECT++
    echo "Correct! ${n1} x ${n2} is ${realans}."
  else
    echo "Incorrect. ${n1} x ${n2} is ${realans}."
  fi
done

echo "You got ${CORRECT} out of ${QUESTIONS} questions correct!"

Eu simplifiquei o programa e optei por read em vez de zentity para simplificar e manter a entrada e a saída no terminal. Eu também demonstrei o uso de let var++ , que é uma maneira mais limpa e moderna de incrementar um contador.

    
por 18.11.2015 / 21:58

Tags