カナデKanade

2. 入力してもらって変える(入力、型の変換)

ユーザーに値を尋ねたり、文字と数字をおたがいに変えたりする方法を学びましょう。

この章で学ぶこと

  • 改行せずに出力する(続けて出力しよう)
  • ユーザーに値を入力してもらう(入力してもらおう)
  • 文字を数字に、数字を文字に変える(〈数字に〉、〈文字列に〉)

ここまでは、プログラムの中に値を直接書いてきました。今度は実行する人に値を尋ねるプログラムを作ります。


改行せずに出力する: 続けて出力しよう

出力しようは、出力したあとで改行します。続けて出力しようは改行しないので、次の出力が同じ行に続けて出てきます。

「いち 」を続けて出力しよう
「に 」を続けて出力しよう
「さん」を出力しよう
「次の行」を出力しよう

いち に さんが1行に、次の行がその次の行に出ます。質問のすぐ横で答えを入力してもらうときによく使います。


入力してもらう: 入力してもらおう

『名札』を入力してもらおうと書くと、プログラムがいったん止まって、ユーザーが1行入力するのを待ちます。 入力した値はその名札に入ります。

「お名前は? 」を続けて出力しよう
『名前』を入力してもらおう
枠「はじめまして、{『名前』}さん!」を出力しよう

このドキュメントで実行すると、結果の欄に入力欄が現れます。名前を書いてEnterを押すと、プログラムが続きを実行します。

数字として入力してもらう

入力は、基本的に文字(文字列)として入ります。数字で計算したいなら、【数字】で入力してもらおうのように種類を書いてください。カナデが入力を数字に変えて入れてくれます。

「何歳ですか? 」を続けて出力しよう
『年齢』を【数字】で入力してもらおう
枠「来年は{『年齢』 + 1}歳になりますね!」を出力しよう

数字ではない文字(例: 十五)を入力すると、「『十五』を数字に変換できません。」 というエラーになります。前後のスペースは大丈夫です。

こう書くと 入る値
『x』を入力してもらおう 入力した文字そのまま
『x』を【文字列】で入力してもらおう 入力した文字そのまま
『x』を【数字】で入力してもらおう 数字(数字でなければエラー)
『x』を【論理】で入力してもらおう 真か偽(それ以外の文字はエラー)

文字と数字は別のもの

「10」(文字)と10(数字)は、画面では同じに見えますが違う種類です。カナデは2つを勝手に混ぜて計算しません。文字と数字を足すとエラーになります。

(「点数: 」 + 90)を出力しよう

「『+』演算は『文字列』と『数字』の間ではできません。」 というエラーが出ます。こういうときは、片方をもう片方の種類に変えて合わせる必要があります。


変える道具: 〈文字列に〉、〈数字に〉

道具 すること 例 結果
〈文字列に〉(値) 値を文字に変えます 〈文字列に〉(90) 「90」
〈数字に〉(文字) 文字を数字に変えます 〈数字に〉(「10」) 10
(参考) 数字を文字に変えてつなげる
(「点数: 」 + 〈文字列に〉(90))を出力しよう

(参考) 文字を数字に変えて計算する
(〈数字に〉(「10」) + 5)を出力しよう

点数: 90と15が出ます。

ちなみに、文字の間に値を入れるだけなら、1章の枠のほうが便利です。枠「点数: {90}」は、数字を自動で文字の間に入れてくれます。〈文字列に〉は、文字そのものが必要なとき(例: 文字数を数えたり、つなげたりするとき)に使います。

〈数字に〉は、数字として読めない文字を受け取るとエラーになります。

(〈数字に〉(「十」) + 1)を出力しよう

文字と番号: 〈コードに〉、〈文字に〉

コンピューターの中では、すべての文字に番号があります。Aは65、あは12354です。この番号を調べたり、番号から文字を作ったりできます。

〈コードに〉(「A」)を出力しよう
〈文字に〉(66)を出力しよう

65とBが出ます。今すぐたくさん使うものではありませんが、暗号づくりのような遊びをするときに役立ちます。


組み合わせてみる: 年齢計算機

「生まれた年を入力してください: 」を続けて出力しよう
『生まれた年』を【数字】で入力してもらおう
『今年』を2026にしよう
『年齢』を『今年』 - 『生まれた年』にしよう
枠「今年で{『年齢』}歳になる年です!」を出力しよう
  1. 質問を出力して(続けて出力しよう)
  2. 数字として入力してもらい(【数字】で入力してもらおう)
  3. 計算して(-)
  4. 結果を枠で見せます。

よくある間違い

1. 数字で計算したいのに【数字】を書き忘れる

『年齢』を入力してもらおうで受け取った値は文字です。そこに+ 1をすると、文字と数字を足すことになってエラーになります。計算する値は【数字】で入力してもらおうで受け取ってください。

2. 文字と数字をそのまま足す

「点数: 」 + 90はエラーです。「点数: 」 + 〈文字列に〉(90)に変えるか、枠「点数: {90}」を使ってください。


まとめ

やりたいこと 書き方
改行せずに出力 「質問: 」を続けて出力しよう
文字を入力してもらう 『名前』を入力してもらおう
数字を入力してもらう 『年齢』を【数字】で入力してもらおう
数字 → 文字 〈文字列に〉(90)
文字 → 数字 〈数字に〉(「10」)
文字 ↔ 番号 〈コードに〉(「A」)、〈文字に〉(65)

練習問題

1. 好きな食べ物を入力してもらって、「○○が好きなんですね!」と出力してみましょう。

(参考) ここに書いてみましょう。
答えの例
「好きな食べ物は? 」を続けて出力しよう
『食べ物』を入力してもらおう
枠「{『食べ物』}が好きなんですね!」を出力しよう

2. 2つの数字を入力してもらって、足した値を出力するプログラムを作ってみましょう。

答えの例
「1つ目の数字: 」を続けて出力しよう
『あ』を【数字】で入力してもらおう
「2つ目の数字: 」を続けて出力しよう
『い』を【数字】で入力してもらおう
枠「合計は{『あ』 + 『い』}です。」を出力しよう

3. 下のコードはエラーになります。2つの方法で直してみましょう。

『個数』を3にしよう
(「りんご」 + 『個数』 + 「個」)を出力しよう
答えを見る

『個数』が数字なので、文字と足せません。

『個数』を3にしよう
(「りんご」 + 〈文字列に〉(『個数』) + 「個」)を出力しよう
枠「りんご{『個数』}個」を出力しよう

次の章では、数字で計算する方法を詳しく学びます。

プレイグラウンド
結果
コードを書いて「実行」ボタンを押してください。