【paiza問題集】「標準入力メニューその1」をPythonとGASの両方で解いたコード紹介

1 行の入力 Python3編

2 行の入力 Python3編

3 行の入力 Python3編

10 行の入力 Python3編

【行入力】1,000 行の入力 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【GASの最初の一歩】HUNTER×HUNTERの自作サンプル

この記事のシリーズを読むことで、アニメHUNTER×HUNTER(ハンターハンター)を通してGAS(Google Apps Script)の最初の一歩が学べます。

キャラクターと一緒に冒険している感覚で自作サンプルのコードを動かして頂けたらきっと楽しいと思います♪


episode1 「セル操作で入力と消去」

episode2 「文字入力と消去をボタン操作で行う」

episode3 「範囲を指定してまとめて入力(二次元配列は団地だ!)」

episode4 「ヒソカチェックで、IFとループを一気に習得」

episode5 「指定したセル範囲のフォントを変える」

episode6 「指定したセル範囲に色を付ける」

episode7 「キャラの身長で演算(平均・条件に該当する数のカウント)」

episode8 (最終回)「キャラの身長をシンプルなグラフ化する」

ご精読有難うございました。

■ GASの入門書の紹介です ■

詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)

初めてのGoogle Apps Scriptに戻る
写真クリエイターとしての活動

自己紹介

paiza レベルアップ問題集 「STEP: 3 1 行目で与えられる N 個の文字列の入力」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

1 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)

問題:
1 行目で、整数 N と、続けて N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目の文字列の個数Nと文字列を標準入力でリストarrayに取得する
2:文字列の個数NをN=int(array[0])で取得する
3:リストarray[1]〜array[N]までをループで出力

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

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

入力例1
5 paiza 813 paiza813 Hello World!

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

下記のコードで入力と出力を行います。

#1行目の文字列の個数Nと文字列を標準入力でリストarrayに取得する
array=list(map(str,input().split(' ')))

#文字列の個数NをN=int(array[0])で取得する
N=int(array[0])

#リストarray[1]〜array[N]までをループで出力
for i in range(1,N+1):
    print(array[i])

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

灰色の所には、文字列の個数N個と、N個の文字列を入力しています。この灰色の所を配列arrayで取得し、N=array[0]として、array[1]〜array[N]までを黄色いセルの所に出力します。その際、array[1]〜array[N]までの部分の文字列が二次元配列になるよう、ループで新たな配列array2に追加して、その配列array2を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルをsplitメソッドを用いてarrayに取得する
3:配列arrayをログ出力
4:文字列の数NをN=array[0]として取得する
5:array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
6:配列array2をログ出力
7:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:灰色のセルをsplitメソッドを用いてarrayに取得する

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

手順3:配列arrayをログ出力

console.log(array);

手順4:文字列の数NをN=array[0]として取得する

const N=array[0];

手順5:array[1]〜array[N]までループを使ってarray2に二次元配列として追加する

//array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

手順6:配列array2をログ出力

console.log(array2);

スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する

手順7:配列array2をログ出力

console.log(array2);

<ログarray2>

手順8:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array2);

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

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

function standardInput31(){

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

  //灰色のセルをsplitメソッドを用いてarrayに取得する
  const array=ss.getRange(1,1).getValue().split(' ');

  //配列arrayをログ出力
  console.log(array);

  //文字列の数NをN=array[0]として取得する
  const N=array[0];

  //array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

  //配列array2をログ出力
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array2);

}

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

2019年いたばし花火大会

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

←前の問題へ          次の問題へ(準備中)→

paiza レベルアップ問題集 「STEP: 2 2 行目で与えられる N 個の文字列の入力」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

2 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)

問題:
1 行目に整数 N が与えられます。
2 行目に、N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目の文字列の個数Nを標準入力で整数として取得する
2:2行目の半角スペース区切りの文字列をリストarrayに格納する
3:リストをループで出力

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

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

入力例1
5
paiza 813 paiza813 hello813 good

出力例1
paiza
813
paiza813
hello813
good

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

下記のコードで入力と出力を行います。

#1行目の文字列の個数Nを標準入力で整数として取得する
N=int(input())

#2行目の半角スペース区切りの文字列をリストarrayに格納する
array=list(map(str,input().split(' ')))

#リストをループで出力
for i in range(N):
    print(array[i])

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

緑色のセルに文字列の個数N=5、灰色の所に出力するN個の文字列を入力しています。この灰色の所を配列arrayで取得し、N個の文字列を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色のセルと灰色のセルを配列areaに取得する
3:文字列の数NをN=area[0][0]として取得する
4:灰色のセルの文字列の部分をarray=area[1][0].split(‘ ‘)として取得する
5:配列arrayをログ出力
6:スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
7:配列array2をログ出力
8:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルと灰色のセルを配列areaに取得する

const area=ss.getRange(1,1,2).getValues();

手順3:文字列の数NをN=area[0][0]として取得する

const N=area[0][0];

手順4:灰色のセルの文字列の部分をarray=area[1][0].split(‘ ‘)として取得する

const array=area[1][0].split(‘ ‘);

手順5:配列arrayをログ出力

console.log(array);

手順6:スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する

//スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
  let array2=[];
  for(let i=0;i<N;i++){
    array2.push([array[i]]);
  }

手順7:配列array2をログ出力

console.log(array2);

この画像より、二次元配列になっていることが確認できます。

手順8:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array2);

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

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

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

  //緑色のセルと灰色のセルを配列areaに取得する
  const area=ss.getRange(1,1,2).getValues();

  //文字列の数NをN=area[0][0]として取得する
  const N=area[0][0];

  //灰色のセルの文字列の部分をarray=area[1][0].split(' ')として取得する
  const array=area[1][0].split(' ');

  //配列arrayをログ出力
  console.log(array);

  //スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
  let array2=[];
  for(let i=0;i<N;i++){
    array2.push([array[i]]);
  }

  //配列array2をログ出力
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array2);
  
}

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

代々木公園の紫陽花

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

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

paiza レベルアップ問題集 「STEP: 1 改行区切りでの N 個の文字列の入力」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。

改行区切りでの N 個の文字列の入力 (paizaランク D 相当)

問題:
1 行目に整数 N が与えられます。
2 行目以降に、N 個の文字列 s_1, … , s_N が N 行で与えられます。
s_1, … , s_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目の文字列の個数Nを標準入力で整数として取得する
2:2行目からN行間の文字列を出力する

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

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

入力例1
5
hello
paiza
813
paiza2020
Nice

出力例1
hello
paiza
813
paiza2020
Nice

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

下記のコードで入力と出力を行います。

#1行目の文字列の個数Nを標準入力で整数として取得する
N=int(input())

#2行目からN行間の文字列を出力する
for i in range(N):
    string=input()
    print(string)

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

緑色のセルに文字列の個数N=5、灰色の所出力するN個の文字列を入力しています。N個の文字列を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色のセルから文字列の数Nを取得
3:灰色のセルから文字列を配列arrayに取得
4:配列arrayをログ出力
5:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色のセルから文字列の数Nを取得

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

手順3:灰色のセルから文字列を配列arrayに取得

const array=ss.getRange(2,1,N).getValues();

手順4:配列arrayをログ出力

console.log(array);

このログの画像より、既に二次元配列になっていることが分かります。

手順4:数字の数N個にarray[0]を代入する

const N=array[0];

手順5:スプレッドシートの黄色い所に格納する

ss.getRange(2,3,N).setValues(array);

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

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

function standardInput29(){

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

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

  //灰色のセルから文字列を配列arrayに取得
  const array=ss.getRange(2,1,N).getValues();

  //配列arrayをログ出力
  console.log(array);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(2,3,N).setValues(array);
}

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

代々木公園で撮影した紫陽花

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

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

paiza レベルアップ問題集 「【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large)」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large) (paizaランク D 相当)

問題:
1 行目で、整数 N と、続けて N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目を標準入力でsplitメソッドを使ってリストarrayとして取得する
2:出力する整数の個数N=array[0]とする
3:リストarrayをarray[0]からarray[N]まで出力する

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

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

入力例1
5 8 1 3 1 3

出力例1
8
1
3
1
3

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

下記のコードで入力と出力を行います。

#1行目を標準入力でsplitメソッドを使ってリストarrayとして取得する
array=list(map(int,input().rstrip().split(' ')))

#出力する整数の個数N=array[0]とする
N=array[0]

#リストarrayをarray[0]からarray[N]まで出力する
for i in range(1,N+1):
    print(array[i])

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

灰色の所に出力する数字の個数N個(5)とN個の数字(8 1 3 1 3)を入力しています。N個の数字を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルを配列arrayに取得
3:取得したarrayをログ出力
4:数字の数N個にarray[0]を代入する
5:array[1]からarray[N]まで、二次元配列array2にループで格納する
6:スプレッドシート格納前に二次元配列array2をログ出力する
7:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:灰色のセルを配列arrayに取得

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

手順3:取得したarrayをログ出力

console.log(array);

手順4:数字の数N個にarray[0]を代入する

const N=array[0];

手順5:array[1]からarray[N]まで、二次元配列array2にループで格納する

//array[1]からarray[N]まで、二次元配列array2にループで格納する
  let array2=[];
  for(i=1;i<=N;i++){
    array2.push([array[i]]);
  }

手順6:スプレッドシート格納前に二次元配列array2をログ出力する

console.log(array2);

手順7:スプレッドシートの黄色い所に格納する

ss.getRange(3,1,N).setValues(array2);

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

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

function standardInput28(){

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

  //灰色のセルを配列arrayに取得
  const array=ss.getRange(1,1).getValue().split(' ');
  
  //取得したarrayをログ出力
  console.log(array);
  
  //数字の数N個にarray[0]を代入する
  const N=array[0];

  //array[1]からarray[N]まで、二次元配列array2にループで格納する
  let array2=[];
  for(i=1;i<=N;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列array2をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(3,1,N).setValues(array2);
  
}

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

大井競馬場メガイルミ

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

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

paiza レベルアップ問題集 「STEP: 4 2 行目で与えられる N 個の整数の入力 (large)」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

2 行目で与えられる N 個の整数の入力 (large) (paizaランク D 相当)

問題:
1 行目で整数 N が与えられます。
2 行目で、N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目を標準入力で整数型Nとして取得する
2:2行目からN個分をリストarrayに取得
3:リストarrayをループで出力

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

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

入力例1
5
8 1 3 10 100

出力例1
8
1
3
10
100

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

下記のコードで入力と出力を行います。

#1行目を標準入力で整数型Nとして取得する
N=int(input())

#2行目からN個分をリストarrayに取得
array=list(map(int,input().rstrip().split(' ')))

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

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

緑色のセルに数字の個数Nを、灰色の所のN個の数を取得し、それを黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色と灰色のセルを二次元配列numとして取得
3:取得したnumをログ出力
4:num[0][0]を数字の個数Nに格納
5:num[1][0]にsplitメソッドを使って、配列arrayに格納
6:取得した配列arrayをログ出力する
7:配列arrayを二次元配列array2にループで格納
8:スプレッドシート格納前に二次元配列array2をログ出力する
9:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑色と灰色のセルを二次元配列numとして取得

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

手順3:取得したnumをログ出力

console.log(num);

手順4:num[0][0]を数字の個数Nに格納

const N=num[0][0];

手順5:num[1][0]にsplitメソッドを使って、配列arrayに格納

const array=num[1][0].split(‘ ‘);

手順6:取得した配列arrayをログ出力する

console.log(array);

手順7:配列arrayを二次元配列array2にループで格納

//配列arrayを二次元配列array2にループで格納
  let array2=[];
  for(let i=0;i<N;i++){
    array2.push([array[i]]);
  }

手順8:スプレッドシート格納前に二次元配列array2をログ出力する

console.log(array2);

手順9:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array2);

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

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

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

  //緑色と灰色のセルを二次元配列numとして取得
  num=ss.getRange(1,1,2).getValues();

  //取得したnumをログ出力
  console.log(num);

  //num[0][0]を数字の個数Nに格納
  const N=num[0][0];

  //num[1][0]にsplitメソッドを使って、配列arrayに格納
  const array=num[1][0].split(' ');

  //取得した配列arrayをログ出力する
  console.log(array);

  //配列arrayを二次元配列array2にループで格納
  let array2=[];
  for(let i=0;i<N;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列array2をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array2);
  
}

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

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

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

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

paiza レベルアップ問題集 「STEP: 3 1 行目で与えられる N 個の整数の入力」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

1 行目で与えられる N 個の整数の入力 (paizaランク D 相当)

問題:
1 行目で、整数 N と、続けて N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目を標準入力でリストとして取得する
2:リストの先頭添字0を要素数Nとする
3:リストの2番目添字1から添字Nまでをループで出力

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

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

入力例1
13 5085 2923 8669 3231 7032 73 2683 8317 5545 9774 7179 2646 2470

出力例1
5085
2923
8669
3231
7032
73
2683
8317
5545
9774
7179
2646
2470

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

下記のコードで入力と出力を行います。

#1行分をリストとして取得
array=list(map(int,input().split(' ')))

#数列の個数Nを取得
N=array[0]

#数列をループで取得
for i in range(1,N+1):
    print(array[i])

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

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

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得
3:取得した配列arrayをログ出力する
4:配列の先頭の要素0を要素数Nに代入する
5:配列の2番目から最後の要素を二次元配列array2に格納する
6:スプレッドシート格納前に二次元配列をログ出力する
7:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得

array=ss.getRange(1,1).getValue().split(‘ ‘);

手順3:取得した配列arrayをログ出力する

console.log(array);

手順4:配列の先頭の要素0を要素数Nに代入する

const N=array[0];

手順5:配列の2番目から最後の要素を二次元配列array2に格納する

//配列の2番目から最後の要素を二次元配列array2に格納する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

手順6:スプレッドシート格納前に二次元配列をログ出力する

console.log(array2);

手順7:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array2);

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

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

function standardInput26(){

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

  //灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得
  array=ss.getRange(1,1).getValue().split(' ');

  //取得した配列arrayをログ出力する
  console.log(array);

  //配列の先頭の要素0を要素数Nに代入する
  const N=array[0];

  //配列の2番目から最後の要素を二次元配列array2に格納する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array2);

}

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

横浜みなとみらい、ランドマークタワーの夜景と観覧車

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

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

paiza レベルアップ問題集 「STEP: 2 2 行目で与えられる N 個の整数の入力」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

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

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

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

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

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

2 行目で与えられる N 個の整数の入力 (paizaランク D 相当)

問題:
1 行目で整数 N が与えられます。
2 行目で、N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:1行目は標準入力で整数の数Nを取得する
2:2行目は標準入力とsplitメソッドを使い、リストにN個全ての整数格納する
3:格納したリストの要素を出力する

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

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

入力例1
6
6561 3785 6338 9568 4956 557

出力例1
6561
3785
6338
9568
4956
557

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

下記のコードで入力と出力を行います。

#数値の個数
N=int(input())

# N個の数値をリストに格納
array=list(map(int,input().split(' ')))

for num in array:
    print(num)

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

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

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

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

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑のセルにある数列の個数Nを取得
3:灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得
4:取得したarrayをログ出力する
5:スプレッドシートに格納するため、二次元配列array2に格納する
6:スプレッドシート格納前に二次元配列をログ出力する
7:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑のセルにある数列の個数Nを取得

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

手順3:灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得

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

手順4:取得したarrayをログ出力する

console.log(array);

手順5:スプレッドシートに格納するため、二次元配列array2に格納する

//スプレッドシートに格納するため、二次元配列array2に格納する
  array2=[];
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

手順6:スプレッドシート格納前に二次元配列をログ出力する

console.log(array2);

手順7:スプレッドシートの黄色い所に格納する

ss.getRange(4,1,N).setValues(array2);

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

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

function standardInput25(){

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

  //緑のセルにある数列の個数Nを取得
  const N=ss.getRange(1,1).getValue();

  //灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得
  const array=ss.getRange(2,1).getValue().split(' ');

  //取得したarrayをログ出力する
  console.log(array);

  //スプレッドシートに格納するため、二次元配列array2に格納する
  array2=[];
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(4,1,N).setValues(array2);

}

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

いたばし花火大会(東京都板橋区)

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

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

paiza レベルアップ問題集 「STEP: 1 改行区切りでの N 個の整数の入力」を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だったらどう解くのか、スプレッドシートでバインドして作ってみました。

改行区切りでの N 個の整数の入力 (paizaランク D 相当)

問題:

1 行目で整数 N が与えられます。
2 行目以降で、N 個の整数 a_1, … , a_N が N 行で与えられます。
a_1, … , a_N を改行区切りで出力してください。

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

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

■ Pythonでの解き方 ■

手順として、

1:標準入力で整数の数Nを取得する
2:ループの中で標準入力を使い、N個全ての整数を出力する

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

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

入力例1
20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

出力例1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

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

下記のコードで入力と出力を行います。

#1:標準入力で整数の数Nを取得する
N=int(input())

#2:ループの中で標準入力を使い、N個全ての整数を出力する
for i in range(N):
    temp=int(input())
    print(temp)

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

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

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

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

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

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

2:緑のセルにある数列の個数Nを取得

3:灰色のセルN行1列を配列arrayに取得

4:取得したarrayをログ出力する

5:スプレッドシートの黄色い所に格納する

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

const ss = SpreadsheetApp.getActiveSheet();

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

手順2:緑のセルにある数列の個数Nを取得

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

手順3:灰色のセルN行1列を配列arrayに取得

const array=ss.getRange(2,1,N).getValues();

手順4:取得したarrayをログ出力する

console.log(array);

手順5:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array);

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

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

function standardInput24(){

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

  //緑のセルにある数列の個数Nを取得
  const N=ss.getRange(1,1).getValue();

  //灰色のセルN行1列を配列arrayに取得
  const array=ss.getRange(2,1,N).getValues();

  //取得したarrayをログ出力する
  console.log(array);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array);
}

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

代々木公園のバラ

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

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