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

この記事を読むことで、Pythonで標準入力を使って、ループを用いて5つの整数を取得する方法が学べます。GASではスプレッドシートで値を取得して出力しています。

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

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

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

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

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

5 行の整数の入力 (paizaランク D 相当)

問題:整数 a_1, a_2, a_3, a_4, a_5 が 5 行で与えられるので a_1, a_2, a_3, a_4, a_5 を 5 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:ループを使って標準入力で整数を取得し出力する

の1ステップで行います。

今回は下記の入出力例2を用います。

入力例2
1111
3333
5555
7777
9999

出力例2
1111
3333
5555
7777
9999

まず、準備として、paiza.ioにこのように入力します。
(入力例2をコピペしたのみ)

このコードで入出力を行います。

#ループを使って標準入力で整数を取得し出力する
for i in range(5):
    temp=int(input())
    print(temp)

Pythonは以上です。

■ GASでの解き方 ■

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

緑色の所に入力した整数を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの整数を取得して5つの整数を二次元配列numに格納

3:スプレッドシートの出力前に5つの整数が格納された二次元配列numを取得できたことをログ出力で確認する

4:スプレッドシートの黄色いセルに二次元配列numを出力する

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの整数を取得して5つの整数を二次元配列numに格納

num=ss.getRange(2,1,5).getValues();

手順3:スプレッドシートの出力前に5つの整数が格納された二次元配列numを取得できたことをログ出力で確認する

console.log(num);

手順4:スプレッドシートの黄色いセルに二次元配列numを出力する

ss.getRange(2,3,5).setValues(num);

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

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

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

  //緑色のセルの整数を取得して5つの整数を二次元配列numに格納
  num=ss.getRange(2,1,5).getValues();

  //スプレッドシートの出力前に5つの整数が格納された二次元配列numを取得できたことをログ出力で確認する
  console.log(num);

  //スプレッドシートの黄色いセルに二次元配列numを出力する
  ss.getRange(2,3,5).setValues(num);

}

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

石神井公園の桜です。もうすぐ春ですね。

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

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

この記事を読むことで、PythonとGASで標準入力を使って、2つの整数を取得する方法が学べます。GASではスプレッドシートを用いて値を取得して出力しています。

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

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

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

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

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

2 行の整数の入力 (paizaランク D 相当)

問題:整数 a, b が 2 行で与えられるので a, b を 2 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で整数a,bを取得する

2:取得した整数を出力する

の2ステップで行います。

今回は下記の入出力例1を用います。

入力例1
81
3

出力例1
81
3

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力を使って整数を取得します。

#標準入力で整数を取得する
a=int(input())
b=int(input())

手順2では取得した整数を出力します。

#取得した整数を出力する
print(a)
print(b)

ここまでのコードをまとめます。

#標準入力で整数を取得する
a=int(input())
b=int(input())

#取得した整数を出力する
print(a)
print(b)

■ GASでの解き方 ■

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

緑色の所に入力した整数を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの整数を取得して整数a,bを二次元配列numに格納

3:スプレッドシートの出力前に整数a,bが格納された二次元配列numを取得できたことをログ出力で確認する

4:スプレッドシートの黄色いセルに二次元配列numを出力する

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの整数を取得して整数a,bを二次元配列numに格納

num=ss.getRange(1,2,2).getValues();

手順3:スプレッドシートの出力前に整数a,bが格納された二次元配列numを取得できたことをログ出力で確認する

console.log(num);

手順4:スプレッドシートの黄色いセルに二次元配列numを出力する

ss.getRange(5,2,2).setValues(num);

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

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

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

  //緑色のセルの整数を取得して整数a,bを二次元配列numに格納
  num=ss.getRange(1,2,2).getValues();

  //スプレッドシートの出力前に整数a,bが格納された二次元配列numを取得できたことをログ出力で確認する
  console.log(num);

  //スプレッドシートの黄色いセルに二次元配列numを出力する
  ss.getRange(5,2,2).setValues(num);

}

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

お台場の観覧車。 赤いですね。

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

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

この記事を読むことで、PythonとGASで標準入力を使って整数を取得する方法が学べます。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 相当)

問題:整数 a が 1 行で与えられるので a を 1 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で整数aを取得する
2:取得した整数を出力する

の2ステップで行います。

今回は下記の入出力例1を用います。

入力例1
813

出力例1
813

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力を使って整数を取得します。

#標準入力で整数を取得する
a=int(input())

手順2では取得した整数を出力します。

#取得した整数を出力する
print(a)

ここまでのコードをまとめます。

#標準入力で整数を取得する
a=int(input())

#取得した整数を出力する
print(a)

■ GASでの解き方 ■

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

緑色の所に入力した整数を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの整数を取得する


3:スプレッドシートの出力前に整数aが取得できたことをログ出力で確認する


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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの整数を取得する

const a=ss.getRange(1,2).getValue();

手順3:スプレッドシートの出力前に整数aが取得できたことをログ出力で確認する

console.log(s);

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

ss.getRange(3,2).setValue(a);

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

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

function standardInput14(){

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

  //緑色のセルの整数を取得する
  const a=ss.getRange(1,2).getValue();

  //スプレッドシートの出力前に整数aが取得できたことをログ出力で確認する
  console.log(a);

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

}

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

世界自閉症啓発デーとその習慣に撮影した都庁です。
都庁は西新宿にあります。

■ 参考文献の紹介■

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「FINAL問題 【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力」をPythonとGASで解いてみた

この記事を読むことで、PythonとGASで空白スペースを含む1行の文字列を取得して、空白スペースの所で区切って、ループを使って1000行の文字列に出力する方法が学べます。また、GASではスプレッドシートを用いて値を取得して出力しています。
更にPythonではループを基本的な書き方と内包表記の書き方の2通りで掲載します。

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

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

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

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

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

【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力 (paizaランク D 相当)

問題:文字列 s_1, s_2, … s_999, s_1000 が半角スペースで区切られて 1 行で与えられます。各文字列を出力するごとに改行し 1,000 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で空白スペースを含む文字列を区切って取得する

2:取得した文字列がリストになっていることを確認する


3:ループを使って出力する

の3ステップで行います。

今回は下記の入出力例1を用います。
(1000行は長すぎるので、このブログで入出力例を表示することは省きます。)

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力で空白文字を区切って取得します。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

手順2では先ほどの手順で取得した文字列を出力して、リストとして空白区切りで出力されていることを確認します。

#取得した文字列がリストになっていることを確認する
print(s)

手順3ではループを使って出力します。

#ループを使って出力する
for string in s:
    print(string)

これを内包表記を使って書いた場合のコードです。先ほどのコードと見比べると、1行になりよりシンプルなコードが書けました。

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ここまでのコードをまとめます。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
print(s)

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ただ、このままでは求められる出力結果に対して冗長な部分があるので、不要な箇所はコメントアウトします。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
#print(s)

#ループを使って出力する
#for string in s:
#    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

更に提出ように最小限のコードになるようにしたスッキリなコードはこちらになります。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#内包表記を使ったループで出力する
[print(string) for string in s]

提出する直前の出力結果です。

■ GASでの解き方 ■

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

緑色の所に入力した文字列を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した文字列が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納
する

3:定数sに配列として格納出来たことをログ出力で確認する

4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する

const s=ss.getRange(1,2).getValue().split(‘ ‘);

手順3:定数sに格納出来たことをログ出力で確認する

console.log(s);

手順4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

let s2 = [];

手順5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

//ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for(let i=0;i<s.length;i++){
    s2.push([s[i]]);
  }

手順6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

console.log(s2);

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

ss.getRange(3,2,s2.length).setValues(s2);

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

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

function standardInput13(){

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

  //緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する
  const s=ss.getRange(1,2).getValue().split(' ');

  //定数sに配列として格納出来たことをログ出力で確認する
  console.log(s);

  //スプレッドシートに出力するため、二次元配列として取得するs2を宣言する
  let s2=[];

  //ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for(let i=0;i<s.length;i++){
    s2.push([s[i]]);
  }

  //スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する
  console.log(s2);

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

}

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

フランスのクリスタルメーカー、バカラのシャンデリア、クールなブルー

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「STEP: 4 半角スペース区切りの 10 個の入力」をPythonとGASで解いてみた

この記事を読むことで、PythonとGASで空白スペースを含む1行の文字列を取得して、空白スペースの所で区切って、ループを使って10個の文字列に出力する方法が学べます。また、GASではスプレッドシートを用いて値を取得して出力しています。
更にPythonではループを基本的な書き方と内包表記の書き方の2通りで掲載します。

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

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

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

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

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

半角スペース区切りの 10 個の入力 (paizaランク D 相当)

問題:文字列 s_1, s_2, … s_9, s_10 が半角スペースで区切られて 1 行で与えられます。各文字列を出力するごとに改行し 10 行で出力してください。

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で空白スペースを含む文字列を区切って取得する

2:取得した文字列がリストになっていることを確認する

3:ループを使って出力する

の3ステップで行います。

今回は下記の入出力例1を用います。

入力例1
VypymzW25l 3xsXWAK NYwbs2MRC kh4 mr38o8W9 94 fEJ 6THlW fJFTy n

出力例1
VypymzW25l
3xsXWAK
NYwbs2MRC
kh4
mr38o8W9
94
fEJ
6THlW
fJFTy
n

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力で空白文字を区切って取得します。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

手順2では先ほどの手順で取得した文字列を出力して、リストとして空白区切りで出力されていることを確認します。

#取得した文字列がリストになっていることを確認する
print(s)

手順3ではループを使って出力します。

#ループを使って出力する
for string in s:
    print(string)

これを内包表記を使って書いた場合のコードです。先ほどのコードと見比べると、1行になりよりシンプルなコードが書けました。

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ここまでのコードをまとめます。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
print(s)

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ただ、このままでは求められる出力結果に対して冗長な部分があるので、不要な箇所はコメントアウトします。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
#print(s)

#ループを使って出力する
#for string in s:
#    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

更に提出ように最小限のコードになるようにしたスッキリなコードはこちらになります。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#内包表記を使ったループで出力する
[print(string) for string in s]

提出する直前の出力結果です。

■ GASでの解き方 ■

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

緑色の所に入力した文字列を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した文字列が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する

3:定数sに配列として格納出来たことをログ出力で確認する

4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する

const s=ss.getRange(1,2).getValue().split(‘ ‘);

手順3:定数sに格納出来たことをログ出力で確認する

console.log(s);

手順4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

let s2 = [];

手順5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

//ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for(let i=0;i<s.length;i++){
    s2.push([s[i]]);
  }

手順6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

console.log(s2);

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

ss.getRange(3,2,s2.length).setValues(s2);

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

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

function standardInput12() {

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

  //緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する
  const s = ss.getRange(1, 2).getValue().split(' ');

  //定数sに配列として格納出来たことをログ出力で確認する
  console.log(s);

  //スプレッドシートに出力するため、二次元配列として取得するs2を宣言する
  let s2 = [];

  //ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for (let i = 0; i < s.length; i++) {
    s2.push([s[i]]);
  }

  //スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する
  console.log(s2);

  //スプレッドシートの黄色いセルに出力する
  ss.getRange(3, 2, s2.length).setValues(s2);
}

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

フランスのクリスタルメーカー、バカラのシャンデリア

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「STEP: 3 半角スペース区切りの 3 つの入力」をPythonとGASで解いてみた

この記事を読むことで、PythonとGASで空白スペースを含む1行の文字列を取得して、空白スペースの所で区切って、ループを使って3つの文字列に出力する方法が学べます。また、GASではスプレッドシートを用いて値を取得して出力しています。
更にPythonではループを基本的な書き方と内包表記の書き方の2通りで掲載します。

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

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

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

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

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

半角スペース区切りの 3 つの入力 (paizaランク D 相当)

問題:文字列 s_1, s_2, s_3 が半角スペースで区切られて 1 行で与えられます。
各文字列を出力するごとに改行し 3 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で空白スペースを含む文字列を区切って取得する

2:取得した文字列がリストになっていることを確認する

3:ループを使って出力する

の3ステップで行います。

今回は下記の入出力例1を用います。

入力例1
good morning paiza

出力例1
good
morning
paiza

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力で空白文字を区切って取得します。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

手順2では先ほどの手順で取得した文字列を出力して、リストとして空白区切りで出力されていることを確認します。

#取得した文字列がリストになっていることを確認する
print(s)

手順3ではループを使って出力します。

#ループを使って出力する
for string in s:
    print(string)

これを内包表記を使って書いた場合のコードです。先ほどのコードと見比べると、1行になりよりシンプルなコードが書けました。

#ループを使って出力する
for string in s:
    print(string)

#内包表記を使ったループで出力する
[print(string) for string in s]

ここまでのコードをまとめます。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
print(s)

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ただ、このままでは求められる出力結果に対して冗長な部分があるので、不要な箇所はコメントアウトします。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
#print(s)

#ループを使って出力する
#for string in s:
#    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

更に提出ように最小限のコードになるようにしたスッキリなコードはこちらになります。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#内包表記を使ったループで出力する
[print(string) for string in s]

提出する直前の出力結果です。

■ GASでの解き方 ■

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

緑色の所に入力した文字列を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した文字列が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する


3:定数sに配列として格納出来たことをログ出力で確認する

4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する

const s=ss.getRange(1,2).getValue().split(‘ ‘);

手順3:定数sに格納出来たことをログ出力で確認する

console.log(s);

手順4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

let s2 = [];

手順5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

//ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for(let i=0;i<s.length;i++){
    s2.push([s[i]]);
  }

手順6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

console.log(s2);

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

ss.getRange(3,2,s2.length).setValues(s2);

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

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

function standardInput11() {

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

  //緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する
  const s = ss.getRange(1, 2).getValue().split(' ');

  //定数sに配列として格納出来たことをログ出力で確認する
  console.log(s);

  //スプレッドシートに出力するため、二次元配列として取得するs2を宣言する
  let s2 = [];

  //ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for (let i = 0; i < s.length; i++) {
    s2.push([s[i]]);
  }

  //スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する
  console.log(s2);

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

}

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

水元公園、ゴールデンウィークにサイクリングでグリーンエクササイズ(2018年コロナ前撮影)

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「STEP: 2 半角スペース区切りの 2 つの入力」をPythonとGASで解いてみた

この記事を読むことで、PythonとGASで空白スペースを含む1行の文字列を取得して、空白スペースの所で区切って、2つの文字列に出力する方法が学べます。また、GASではスプレッドシートを用いて値を取得して出力しています。
更にPythonではループを基本的な書き方と内包表記の書き方の2通りで掲載します。

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

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

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

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

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

半角スペース区切りの 2 つの入力 (paizaランク D 相当)

問題:文字列 s_1, s_2 が半角スペースで区切られて 1 行で与えられます。各文字列を出力するごとに改行し 2 行で出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で空白スペースを含む文字列を区切って取得する
2:取得した文字列がリストになっていることを確認する
3:ループを使って出力する

の3ステップで行います。

今回は下記の入出力例1を用います。

入力例1
hello paiza

出力例1
hello
paiza

まず、準備として、paiza.ioにこのように入力します。
(入力例1をコピペしたのみ)

手順1で標準入力で空白文字を区切って取得します。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

手順2では先ほどの手順で取得した文字列を出力して、リストとして空白区切りで出力されていることを確認します。

#取得した文字列がリストになっていることを確認する
print(s)

手順3ではループを使って出力します。

#ループを使って出力する
for string in s:
    print(string)

これを内包表記を使って書いた場合のコードです。先ほどのコードと見比べると、1行になりよりシンプルなコードが書けました。

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ここまでのコードをまとめます。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
print(s)

#ループを使って出力する
for string in s:
    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

ただ、このままでは求められる出力結果に対して冗長な部分があるので、不要な箇所はコメントアウトします。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#取得した文字列がリストになっていることを確認する
#print(s)

#ループを使って出力する
#for string in s:
#    print(string)
    
#内包表記を使ったループで出力する
[print(string) for string in s]

更に提出ように最小限のコードになるようにしたスッキリなコードはこちらになります。

#標準入力で空白スペースを含む文字列を区切って取得する
s=input().split(' ')

#内包表記を使ったループで出力する
[print(string) for string in s]

提出する直前の出力結果です。

■ GASでの解き方 ■

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

緑色の所に入力した文字列を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した文字列が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する


3:定数sに配列として格納出来たことをログ出力で確認する


4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する

const s=ss.getRange(1,2).getValue().split(‘ ‘);

手順3:定数sに格納出来たことをログ出力で確認する

console.log(s);

手順4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

let s2 = [];

手順5:ループを使ってpushメソッドでs2にsを2次元配列として追加する

 //ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for(let i=0;i<s.length;i++){
    s2.push([s[i]]);
  }

手順6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

console.log(s2);

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

ss.getRange(3,2,s2.length).setValues(s2);

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

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

function standardInput10() {

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

  //緑色のセルの所を取得して、空白区切り文字の所で区切って定数sに格納する
  const s = ss.getRange(1, 2).getValue().split(' ');

  //定数sに配列として格納出来たことをログ出力で確認する
  console.log(s);

  //スプレッドシートに出力するため、二次元配列として取得するs2を宣言する
  let s2 = [];

  //ループを使ってpushメソッドでs2にsを2次元配列として追加する
  for (let i = 0; i < s.length; i++) {
    s2.push([s[i]]);
  }

  //スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する
  console.log(s2);

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

}

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

東池袋にある、サンシャイン水族館から1枚(コロナ前2018年撮影)

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「STEP: 1 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 行で与えられるので、そのまま出力してください。

今回は、下記の入出力例3を用います。

入力例3
paiza813

出力例3
paiza813

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で文字列を取得する

2:取得した文字列を出力する

の2ステップで、行います。

まず、準備として、paiza.ioにこのように入力します。
(入力例3をコピペしたのみ)

コードは下記になります。

#標準入力で文字列を取得する
    s=input()
    
    #取得した文字列を出力する
    print(s)

プログラムを実行した出力結果です。

■ GASでの解き方 ■

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

緑色の所に入力した文字列を取得して、それを黄色い所に出力します。その際、この黄色く塗りつぶしたセルの所に、二次元配列として取得した文字列が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:緑色のセルの所を取得して定数sに格納する

3:定数sに格納出来たことをログ出力で確認する

4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

5:pushメソッドでs2にsを2次元配列として追加する

6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルの所を取得して定数sに格納する

s = ss.getRange(1, 2).getValue();

手順3:定数sに格納出来たことをログ出力で確認する

console.log(s);

手順4:スプレッドシートに出力するため、二次元配列として取得するs2を宣言する

let s2 = [];

手順5:pushメソッドでs2にsを2次元配列として追加する

s2.push([s]);

手順6:スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する

console.log(s2);

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

ss.getRange(3, 2).setValue(s2);

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

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

function standardInput09() {

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

  //緑色のセルの所を取得して定数sに格納する
  s = ss.getRange(1, 2).getValue();

  //定数sに格納出来たことをログ出力で確認する
  console.log(s);

  //スプレッドシートに出力するため、二次元配列として取得するs2を宣言する
  let s2 = [];

  //pushメソッドでs2にsを2次元配列として追加する
  s2.push([s]);

  //スプレッドシートに出力する前にs2に二次元配列として格納されていることをログ出力で確認する
  console.log(s2);

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

}

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

よみうりランド、ジュエルミネーション、グッジョ!

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

paiza レベルアップ問題集 「FINAL問題 【半角スペース区切りでの文字列の分割】5 つの文字列の半角スペース区切りでの分割 」をPythonとGASで解いてみた

この記事を読むことで、PythonとGASでsplitメソッドを使って文字列を空白部分で分割してリスト(配列)に格納し、ループを使ってリストを出力する方法、Pythonではそのループの記述と対応して、内包表記で書く方法が学べます。GASでは二次元配列として取得、出力する方法が学べます。

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

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

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

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

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

【半角スペース区切りでの文字列の分割】5 つの文字列の半角スペース区切りでの分割 (paizaランク D 相当)

問題:文字列one two three four fiveを、半角スペースで分割して出力してください。

入力される値
なし


期待する出力
one two three four fiveを半角スペースで区切り、区切られた文字列を改行区切りにして 5 行で出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

one
two
three
four
five

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

■ Pythonでの解き方 ■

手順として、

1:リストarrayにsplitメソッドを使って空白で文字を区切って配列に入力

2:配列を確認

3:ループで出力

で、行います。

手順1で、文字列「one two three four five」にsplitメソッドを使って空白の所で文字列を分割してリストに代入します。
その部分のコードです。

#文字列を分割してリストarrayに格納
array='one two three four five'.split(' ')

手順2では、リストarrayに分割して文字列がそれぞれ格納したことをprint文で確認します。

#リストarrayをそのまま出力
print(array)

その出力結果です。

手順3では、リストarrayに格納されたことが確認できたので、arrayをループで出力します。そのコードと出力結果です。

#ループでリストを出力する
for num in array:
    print(num)

このループの所を内包表記で記述したコードです。先ほどのシンプルなループのコードと比較すると、内包表記が分かりやすくなります。

#ループでリストを出力する
for num in array:
    print(num)

#内包表記でリストを出力する
[print(num) for num in array]

これまでの手順で作成したコードです。

#文字列を分割してリストarrayに格納
array='one two three four five'.split(' ')

#リストをそのまま表示する
print(array)


#ループでリストを出力する
for num in array:
    print(num)

#内包表記でリストを出力する
[print(num) for num in array]

求められる出力に対して冗長な箇所はコメントアウトします。

#文字列を分割してリストarrayに格納
array='one two three four five'.split(' ')

#リストをそのまま表示する
#print(array)


#ループでリストを出力する
#for num in array:
#    print(num)

#内包表記でリストを出力する
[print(num) for num in array]

提出用にスッキリと最小限のコードに致しました。

#文字列を分割してリストarrayに格納
array='one two three four five'.split(' ')

#内包表記でリストを出力する
[print(num) for num in array]

プログラムを実行した出力結果です。

■ GASでの解き方 ■

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

この黄色く塗りつぶしたセルの所に二次元配列として取得した文字列が格納された配列を出力します。
空白区切りの文字を分割して配列に格納して、更にループを使って二次元配列にします。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする

2:splitメソッドを使って文字列を分割して配列arrayに代入する

3:分割した文字列が配列arrayに追加出来たことをログ出力で確認する

4:配列arrayに格納された文字列を二次元配列として追加する配列array2を宣言する

5:ループを使ってarrayに格納された文字列を二次元配列としてarray2に追加する

6:スプレッドシートに出力する前に、ログでarray2を出力して確認する

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

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:splitメソッドを使って文字列を分割して配列arrayに代入する

const array=’one two three four five’.split(‘ ‘);

手順3:分割した文字列が配列arrayに追加出来たことをログ出力で確認する

console.log(array);

手順4:配列arrayに格納された文字列を二次元配列として追加する配列array2を宣言する

let array2=[];

手順5:ループを使ってarrayに格納された文字列を二次元配列としてarray2に追加する

//ループを使ってarrayに格納された文字列を二次元配列としてarray2に追加する
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

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

console.log(array2);

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

ss.getRange(2,1,array2.length).setValues(array2);

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

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

function standardInput08() {

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

  //splitメソッドを使って文字列を分割して配列arrayに代入する
  const array = 'one two three four five'.split(' ');

  //分割した文字列が配列arrayに追加出来たことをログ出力で確認する
  console.log(array);

  //配列arrayに格納された文字列を二次元配列として追加する配列array2を宣言する
  let array2 = [];

  //ループを使ってarrayに格納された文字列を二次元配列としてarray2に追加する
  for (let i = 0; i < array.length; i++) {
    array2.push([array[i]]);
  }

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

  //array2をスプレッドシートの黄色いセルに出力する
  ss.getRange(2, 1, array2.length).setValues(array2);

}

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

恵比寿ガーデンプレイス、フランスのクリスタルメーカー、バカラのシャンデリア

■ 参考文献の紹介■

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

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

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

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

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

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

←前の問題へ          次の問題へ→

<Gmail1>メール定型文を下書きへGo!

この記事では、GAS(Google Apps script)で会社などに送る決まった文章をスプレッドシートに入力して、ボタンを押すと押した人のGmailの下書きに追加する方法を掲載しています。

お世話になっているサイトは、いつも隣にITのお仕事さんの

GASでGmailを操作して日々の日報メールの下書きを自動で作成する

です。

得意先の方にいつも同じような文章を送る時、上司に同じような報告を送るといった場合に使えるテクニックです。

この例では、得意先の「株式会社あいうえお」の営業部長のヤマダさんに送る例で作成して行きます。

このようにスプレッドシートを配置します。

シート名はこのようにしました。

このスプレッドシートを二次元配列として取得して、createDraftメソッドを使って「Gmailの下書き」に保存します。

なぜ二次元配列なのかと申しますと、スプレッドシートはExcel、将棋やオセロのような縦横の座標になっているからです。

二次元、すなわち平面の座標を格納する配列です。

メソッドというのは、動作のことです。この例ではGmailの下書きの所に送るという動作です。

「メソッド」というとちょっと分かりづらいという方は、メソッドを数学の公式みたいなものだと捉えて頂いても大体掴めて来ると思います。

例えば3角形の公式に必要なのは「底辺」と「高さ」の値です。この底辺と高さの値が引数に当たり、底辺×高さ÷2で三角形の面積を求めて計算する動作がメソッドに当たります。

createDraftメソッドはこのスプレッドシートのボタンを押した人のGmailの下書きの所に移動させるメソッドです。

引数(メソッドを利用する際に必要となるもの)は「アドレス、タイトル、本文」です。

アドレスをto、タイトルをsubjectという定数、本文をbodyという変数に格納して、このcreateDraftメソッドを使います。

アドレスとタイトルは変わらないので定数、本文はこのプログラムでは何も無い所に「誰々さん」、「お世話になっています・・・」などと追加していくので変数です。

今回の例では、本文が最初何も無い所に「宛名の人名」+「その後の挨拶や文章」が加えられて行きます。

定数も変数もAmazonなどの段ボール箱に例えられ、箱の中に値を入れるイメージですが、定数は箱の中身を接着剤で固定して動かないようにするもの、変数は「魔法の壺」を入れたり、今日私が購入した「光目覚まし時計」を入れたりと、色々と中身を変えること(追加や変更、削除が出来る)でイメージが掴めて来るかと思います。

さて、今回使う下書きに送るcreateDraftメソッドの書式は、

createDraft(アドレス,タイトル,本文);

になります。

では、コードを詳細に見て行きます。

const values=SpreadsheetApp.getActiveSheet().getDataRange().getValues();

長ったらしいですが、最初のSpreadsheetAppがスプレッドシートの1番トップの所、次のgetActiveSheet()が現在のシート、何で()となっているのかは、三角形の面積と違って、特に使うのに必要なものが無いからです。

その次のgetDataRange()は、このスプレッドシートのデータを二次元配列として取得するメソッドです。なので、スプレッドシートに書かれている値がそのまま二次元配列として取得できます。具体的には、配列valuesの[0][1]が得意先のヤマダ部長のアドレスで、values[3][1]が本文になっています。配列は先頭が0番目で次が1番目・・・と続きます。

最後のgetValues()で値が取得されます。

3番目のgetDataRange()で金魚すくいの網を貼って、最後のgetValues()で実際に釣り上げるイメージです。

const to=values[0][1];

ここでは、二次元配列valuesの座標[0][1]のところのアドレス「yamada@aiueo.co.jp」を、定数toに格納しています。

const subject=values[1][1];

ここでは、二次元配列valuesの座標[1][1]のところの「2月度のご案内」を、定数subjectに格納しています。

let body=””;

ここでは空の状態の本文を変数bodyに格納しています。この後文章を追加していくので、一旦からの物を用意する感じです。

body+=values[2][1]+’\n’;

ここでは配列valuesの[2][1]にある「株式会社あいうえお 営業部長ヤマダ様」をbodyに追加しています。+=については、

A=A+Bを、

A+=Bと書くことが出来ます。

また、’\n’とバックスラッシュnを加えることによって改行させています。

body+=values[3][1]+’\n’;

ここで、bodyに「お世話になっております・・・」を加えます。

これで、メソッドcreateDraftを使う(アドレス、タイトル、本文)が求まったので、下記のコードでGmailの下書きに入れられます。

GmailApp.createDraft(to,subject,body);

非常にシンプルなコードですが、これで以上です。

ここまでのコードをまとめます。

function createDraft() {

  //スプレッドシートのトップから現在のアクティブシートに階層を辿ってアクセスして、データを二次元配列として取得する
  const values=SpreadsheetApp.getActiveSheet().getDataRange().getValues();

  //相手先のアドレスを定数toに格納
  const to=values[0][1];

  //題名を定数subjectに格納
  const subject=values[1][1];
  
  //本文を定数bodyに格納し、改行して追加
  let body="";
  body+=values[2][1]+'\n';
  body+=values[3][1]+'\n';

  //Gmailの下書きへGo!!
  GmailApp.createDraft(to,subject,body);
  
}

ボタンを押すと、押した人のGmail の下書きにこの様に保存されます。

このシートをコピーして社内用に使い回して株式会社あいうえおのヤマダ部長との会議を上司のサトウ課長に報告することも可能です。

シートをコピーして、名前を変えます。

スプレッドシートの画面です。ボタンを押して作れた下書きです。

お疲れ様でした。ブレイクタイムフォトは、今2月なのに季節外れですが、六本木ヒルズで撮影したハロウィンの写真です。

・関連記事
六本木ヒルズ、ハロウィンでトリックオアトリート!?

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

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

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

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

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