このコーナーでは、プログラミング学習コンテンツpaizaラーニングのレベルアップ問題集を、PythonとGAS(Google Apps Script)の両方で同じ問題を解いたコードを公開している学習ログです。
Python・GASのどちらの言語のコードも可能な限り詳細に解説致します。
GASはスプレッドシートのエディタを使ってコードを書いております。
Pythonではpaizaに入会しなくても問題集を解きたい方向けにpaiza.ioを用いております。paiza.ioの使い方はこちらから。
(入会するか否かは問題集を解いて見てからの読者様のご判断にお任せ致します。
どちらの選択をされても記事を読めるようになっておりますので、安心して下さい。)
問題:
文字列 s が 1 行で与えられるので s をそのまま出力してください。
この記事では、下記の入力例1の場合を例にして、文字列の出力を行います。
入力例1
paiza
出力例1
paiza
ではまず、Pythonでのコードを掲載致します。
■ 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:スプレッドシート出力前にログで確認する
7:スプレッドシートの黄色いセルに出力する
手順1: スプレッドシートからアクティブシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
関数「standardInput1」の中にコードを書いていきます。
standard input は、標準入力のことです。
function standardInput1() {
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
}ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:緑のセルから文字列を取得する
const word=ss.getRange(1,1).getValue();
緑のセルはA1であり、(1,1)と表記出来ます。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
//緑のセルA1から文字列を取得する
const word=ss.getRange(1,1).getValue();
}手順3:文字列が出力出来たことをログ出力で確認する
console.log(word);
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const word=ss.getRange(1,1).getValue();
//文字列が出力出来たことをログ出力で確認する
console.log(word);
}
手順4:文字列をスプレッドシートに二次元配列として取得する配列word2を宣言する
let word2=[];
スプレッドシートは縦×横の二次元ですので、二次元配列として出力する準備を行います。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const word=ss.getRange(1,1).getValue();
console.log(word);
//文字列をスプレッドシートに二次元配列として取得する配列word2を宣言する
let word2=[];
}手順5:word2が二次元配列になる様に、wordを追加する
word2.push([word]);
pushメソッドを使って、[ ]の中にwordを入れて二次元配列にしています。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const word=ss.getRange(1,1).getValue();
console.log(word);
let word2=[];
//word2が二次元配列になる様に、pushメソッドを使ってwordを追加する
word2.push([word]);
}手順6:スプレッドシート出力前にログで確認する
console.log(word2);
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const word=ss.getRange(1,1).getValue();
console.log(word);
let word2=[];
word2.push([word]);
//スプレッドシート出力前にログで確認する
console.log(word2);
}
手順7:スプレッドシートの黄色いセルに出力する
ss.getRange(3,1).setValue(word2);
黄色いセルはセルA3ですので、3行目1列目で(3,1)と表記します。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const word=ss.getRange(1,1).getValue();
console.log(word);
let word2=[];
word2.push([word]);
console.log(word2);
//スプレッドシートの黄色いセルに出力する
ss.getRange(3,1).setValue(word2);
}実行後のスプレッドシートです。

お疲れ様でした。ブレイクタイムPhotoは、

ここは本当に、東京23区ですか??と驚く様な、世田谷区の等々力渓谷で水と森林にたっぷりと癒されました。
次の問題へ→
■ 関連記事 ■
paizaレベルアップ問題集「標準入力その1」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ
写真クリエイターとしての活動
自己紹介
