#!/usr/bin/env ruby # -*- coding: utf-8 -*- puts "1から9の間の数字を3回入力してください。その合計を足します。" tasu = 0 goukei = 0 while tasu < 3 printf("数字を入力してください: ") kazu = gets.to_i if kazu > 9 || kazu < 0 printf("----1から9の数字を入力してください。----\n") redo end goukei += kazu printf("入力された数字: %d\n", kazu) tasu += 1 end printf("3つの数字の合計は %dです。\n", goukei) # redoとは、繰り返し処理を中断し、処理を最初からやり直す働きを持っています。 # 3回入力してもらいますが、1〜9以外の数字を入力すると9行目の # printf("数字を入力してください: ")に戻り、処理を最初からやり直します。 # 最後に3つの入力された数字の合計を出力しますが、1〜9以外の数字が入力されたときは足されません. #-------------改良するなら------------- # redoだけではなく、nextやbreakもプログララムの中で使ってみよう! # たとえば、1〜4の4択クイズで不正解の場合はredoでやり直し、正解したらbreakでプログラムを終了するようなプログラム # また、このプログラムは3回ですが、最初に何回入力させるかをユーザーに入力させてその回数分だけ入力を繰り返してみよう!