Таблица умножения скриптов Bash - PullRequest
0 голосов
/ 24 июня 2018

Здравствуйте, мне интересно, может ли кто-нибудь мне помочь: я пытаюсь составить таблицу умножения для своей дочери, я не знаю, как это сделать.Вот как я хочу выглядеть: 1 x 1 =?ответьте, если ответ верный, тогда переходите к следующему 1 x 2 =?но если ответ ложный, спросите еще раз 1 x 1 =?пока ответ не будет правильным.

#!/bin/bash

# Multiplication table 

echo " --== Multiplication Table ==-- "
sleep 2
echo " Lesson 1"
sleep 1
echo ""


echo -n "1 x 1 = ? " ; read opt
if [ "$opt" = 1 ] 
then
echo "Correct!"
else 
echo "Wrong!"
fi

sleep 1 
echo ""
echo -n "1 x 2 = ? " ; read opt
if [ "$opt" = 2 ] 
then
echo "Correct!"
else 
echo "Wrong!"
fi

После того, как упражнение выполнено до 10. Затем покажите результат, сколько правильных ответов и сколько неправильных.Пример: урок 1 закончен, у вас 9 правильных ответов и 1 неправильный ответ!

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Я сделал это.Вот так я хочу выглядеть и работать

#!/bin/bash
# Multiplication table

    echo " --== Multiplication Table ==-- "
    sleep 2
    echo " Lesson 1"
    sleep 1
    echo ""

        while true
        do
            echo -n "1 x 1 = ? " ; read opt
            if [ $opt = 1 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 2 = ? " ; read opt
            if [ $opt = 2 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 3 = ? " ; read opt
            if [ $opt = 3 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 4 = ? " ; read opt
            if [ $opt = 4 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 5 = ? " ; read opt
            if [ $opt = 5 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 6 = ? " ; read opt
            if [ $opt = 6 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done


     while true
        do
            echo -n "1 x 7 = ? " ; read opt
            if [ $opt = 7 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 8 = ? " ; read opt
            if [ $opt = 8 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 9 = ? " ; read opt
            if [ $opt = 9 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done

     while true
        do
            echo -n "1 x 10 = ? " ; read opt
            if [ $opt = 10 ]
            then
                (( correct++ ))
                echo "Correct!"
                break
            else
                (( wrong++ ))
                echo "Wrong!"
            fi
        done
    echo "Lesson 1 is finish you have $correct correct answers and $wrong wrong answer!"
0 голосов
/ 24 июня 2018

Вы можете использовать этот скрипт:

#!/bin/bash

# Multiplication table

echo " --== Multiplication Table ==-- "
sleep 2
echo " Lesson $1"
sleep 1
echo ""

wrong=0
correct=0
for i in {1..10}
do
    while true
    do
        echo -n "$1 x $i = ? " ; read opt
        if [ $opt = $(( $1 * $i )) ]
        then
            (( correct++ ))
            echo "Correct!"
            break
        else
            (( wrong++ ))
            echo "Wrong!"
        fi
    done
done

echo "Lesson $1 is finish you have $correct correct answers and $wrong wrong answer!"

Вы можете запустить его с разными параметрами для любой базы.Например, ./script 5 для умножения на 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...