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. 数字で計算したいのに【数字】を書き忘れる
『年齢』を入力してもらおうで受け取った値は文字です。そこに+ 1をすると、文字と数字を足すことになってエラーになります。計算する値は【数字】で入力してもらおうで受け取ってください。
2. 文字と数字をそのまま足す
「点数: 」 + 90はエラーです。「点数: 」 + 〈文字列に〉(90)に変えるか、枠「点数: {90}」を使ってください。
まとめ
| やりたいこと | 書き方 |
|---|---|
| 改行せずに出力 | 「質問: 」を続けて出力しよう |
| 文字を入力してもらう | 『名前』を入力してもらおう |
| 数字を入力してもらう | 『年齢』を【数字】で入力してもらおう |
| 数字 → 文字 | 〈文字列に〉(90) |
| 文字 → 数字 | 〈数字に〉(「10」) |
| 文字 ↔ 番号 | 〈コードに〉(「A」)、〈文字に〉(65) |
練習問題
1. 好きな食べ物を入力してもらって、「○○が好きなんですね!」と出力してみましょう。
(参考) ここに書いてみましょう。
答えの例
「好きな食べ物は? 」を続けて出力しよう
『食べ物』を入力してもらおう
枠「{『食べ物』}が好きなんですね!」を出力しよう
2. 2つの数字を入力してもらって、足した値を出力するプログラムを作ってみましょう。
答えの例
「1つ目の数字: 」を続けて出力しよう
『あ』を【数字】で入力してもらおう
「2つ目の数字: 」を続けて出力しよう
『い』を【数字】で入力してもらおう
枠「合計は{『あ』 + 『い』}です。」を出力しよう
3. 下のコードはエラーになります。2つの方法で直してみましょう。
『個数』を3にしよう
(「りんご」 + 『個数』 + 「個」)を出力しよう
答えを見る
『個数』が数字なので、文字と足せません。
『個数』を3にしよう
(「りんご」 + 〈文字列に〉(『個数』) + 「個」)を出力しよう
枠「りんご{『個数』}個」を出力しよう
次の章では、数字で計算する方法を詳しく学びます。