前回の続きから
問題:数値を最後まで読み終えたことを知る
これを解決するためにもっと小さな問題にしてみるとのこと 書籍はこちら[『プログラマの考え方がおもしろいほど身につく本 問題解決能力を鍛えよう!』](http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E8%80%83%E3%81%88%E6%96%B9%E3%81%8C%E3%81%8A%E3%82%82%E3%81%97%E3%82%8D%E3%81%84%E3%81%BB%E3%81%A9%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E6%9C%AC-%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA%E8%83%BD%E5%8A%9B%E3%82%92%E9%8D%9B%E3%81%88%E3%82%88%E3%81%86%EF%BC%81-%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E6%9B%B8%E7%B1%8D-%EF%BC%B6%EF%BC%8E%EF%BC%A1%EF%BD%8E%EF%BD%94%EF%BD%8F%EF%BD%8E-%EF%BC%B3%EF%BD%90%EF%BD%92%EF%BD%81%EF%BD%95%EF%BD%8C-ebook/dp/B00MB2STXK?ie=UTF8&keywords=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E&qid=1460663927&ref_=sr_1_5&sr=8-5)問題:数字を表す文字を整数型に変換する
>ユーザーが入力する0から9までの数字を表す文字を受け取るプログラムを書こう。受け取った文字をそれと同じ数字(0から9までの範囲)に変換し、変換後の数字を結果として表示する。このような内容になっており解答例ではASCII文字コードの文字列数値と整数値の差が常に48あることを利用して引き算をしていました。
(文字列0の場合、"7"は文字コード55で求めたい整数値7なのでその差48とのこと)
この解答として描かれているC++
char digit;
cout << "Enter a one-digit number: ";
cin >> digit;
int sum = digit - '0';
cout << "Is the sum of digits " << sum << "? \n";
自分の解答
#!/usr/bin/env python
#coding:utf-8
###def number(x):
### print("Enter a one-digit number:",x)
### digit = ord(x)
### sum = digit - ord('0')
### print("Is the sum of digits:",sum)
###・・・・(ターミナル上での実行結果)
###>>> from ascii import number
###>>> number(str(7))
###Enter a one-digit number: 7
###Is the sum of digits: 7
(以下修正コード記載)//編集コードありがとうございます
from ConsoleOut import cout
def number():
cout << "Enter a one-digit number: "
digit = input()
value = int(digit)
cout << "The numerical value of the digit is:"+str(valule)+"\n"
・・・・(ターミナル上)
>>> number()
Enter a one-digit number: 7
The numerical value of the digit is:7
ASCII文字コードなるものをこの問題で少し勉強した気がします。
でもこのASCII文字コードってほかにどんなシーンで使いどころってあるんでしょうか?
UnicodeとASCIIコードあまり考えずにコピペしてたので考える機会になりました。