paiza レベルアップ問題集 「STEP: 1 1 行の入力」をPythonとGASで解いてみた

この記事を読むことで、恐らく1番簡単なPythonの標準入力で文字列を取得する方法、GASでは二次元配列として文字列を取得する方法、Python・GASそれぞれのコードで文字列を出力する方法が学べます。

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。

GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。

サイトマップはこちらから

paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験

paizaでの解答はPythonで行いましたが、この記事ではPythonのコードと共に、同じ問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。

1 行の入力 (paizaランク D 相当)

問題:
文字列 s が 1 行で与えられるので s をそのまま出力してください。

この記事では、下記の入力例1の場合を例にして、文字列の出力を行います。

入力例1
paiza

出力例1
paiza

ではまず、Pythonで解いてみます。

今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。

■ Pythonでの解き方 ■

下準備として、paiza.ioにこの様に入力します。
(入力例1をそのままioにコピーしただけ。)

手順として、

1:標準入力で最初の単語wordを読み込む

2:print文でwordを出力する

で、行います。

この手順で作成したプログラムを実行した出力結果です。

コードはこちらになります。

#標準入力で文字列を読み込む
word=input()

#その文字列を出力する
print(word)

■ GASでの解き方 ■

では、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。

スプレッドシートの緑のセルに文字列「paiza」を入力しました。
これを黄色いセルにそのままま文字列を出力します。

※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※

手順はこのようになります。

1:スプレッドシートからアクティブシートにアクセスする

2:緑のセルから文字列を取得する

3:文字列が出力出来たことをログ出力で確認する

4:文字列をスプレッドシートに二次元配列として取得する配列word2を宣言する

5:word2が二次元配列になる様に、wordを追加する

6:スプレッドシートに二次元配列として取得する配列str2を宣言する

7:str2が二次元配列になるようにstrを追加する

8:スプレッドシート出力前にログで確認する

9:スプレッドシートの黄色いセルに出力する

手順1: スプレッドシートからアクティブシートにアクセスする

const ss=SpreadsheetApp.getActiveSheet();

ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。

手順2:緑のセルから文字列を取得する

const word=ss.getRange(1,1).getValue();

手順3:文字列が出力出来たことをログ出力で確認する

console.log(word);

手順4:文字列をスプレッドシートに二次元配列として取得する配列word2を宣言する

let word2=[];

手順5:word2が二次元配列になる様に、wordを追加する

word2.push([word]);

手順6:スプレッドシート出力前にログで確認する

console.log(word2);

手順7:str2が二次元配列になる様に、strを追加する

str2.push([str]);

手順8:スプレッドシートに出力する前に確認する

console.log(str2);

手順9:スプレッドシートの黄色いセルに出力する

ss.getRange(3,1).setValue(word2);

実行後のスプレッドシートです。

GASでの全コードはこちらになります。

function standardInput01() {

  //SpreadSheetAppから階層を辿って現在のシートにアクセスする
  const ss = SpreadsheetApp.getActiveSheet();

  //緑のセルから文字列を取得する
  const word = ss.getRange(1, 1).getValue();

  //文字列が出力出来たことをログ出力で確認する
  console.log(word);

  //文字列をスプレッドシートに二次元配列として取得する配列word2を宣言する
  let word2 = [];

  //word2が二次元配列になる様に、wordを追加する
  word2.push([word]);

  //スプレッドシート出力前にログで確認する
  console.log(word2);

  //スプレッドシートの黄色いセルに出力する
  ss.getRange(3, 1).setValue(word2);

}

宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。

東京世田谷区の秘境??等々力渓谷で癒されました。

■ 参考文献の紹介■

じっくり丁寧にPythonを学びたい方向け。
まずはpaizaラーニングなどの学習コンテンツで学んで、基礎をマスターしたら、この本でじっくりと初級から中級レベルを目指せます。

初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。

GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本でじっくり学べます。

サイトマップはこちらから

paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。

次の問題へ→

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。