【paiza問題集】「標準入力その4」をPythonとGASの両方で解いたコード紹介リンク集

■ 標準入力メニュー4 ■

1 行の整数の入力 Python3編

2 行の整数の入力 Python3編

5 行の整数の入力 Python3編

100 行の整数の入力 Python3編

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

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


自己紹介へ

【paiza問題集】「標準入力その3」をPythonとGASの両方で解いたコード紹介リンク集

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

■ 標準入力メニュー3 ■

1 つの入力 Python3編

半角スペース区切りの 2 つの入力 Python3編

半角スペース区切りの 3 つの入力 Python3編

半角スペース区切りの 10 個の入力 Python3編

【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力 Python3編

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


自己紹介へ

【paiza問題集】「標準入力その2」をPythonとGASの両方で解いたコード紹介リンク集

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

■ 標準入力メニュー2 ■

2 つの文字列の半角スペース区切りでの分割 Python3編

3 つの文字列の半角スペース区切りでの分割 Python3編


【半角スペース区切りでの文字列の分割】5 つの文字列の半角スペース区切りでの分割 Python3編

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


自己紹介へ

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

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

1 行の入力 Python3編

2 行の入力 Python3編

3 行の入力 Python3編

10 行の入力 Python3編

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

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


自己紹介へ

paiza レベルアップ問題集 標準入力その4「FINAL問題 【整数の行入力】1,000行の整数の入力」をPythonとGASで解いたコードの紹介

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

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

【整数の行入力】1,000行の整数の入力 (paizaランク D 相当)

問題:
整数 a_1, a_2, … , a_999, a_1000 が 1,000 行で与えられるので a_1, a_2, … , a_999, a_1000 を 1,000 行で出力してください。

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

■ Pythonでの解き方 ■

手順として、

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

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

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

入力例1
1189
8004
7243
5507
3237
(省略)


出力例1
1189
8004
7243
5507
3237
(省略)


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

(1000行の一部分です。)

このコードで入出力を行います。
ループを1000回まわして、その中で標準入力で変数tempに代入して、tempを出力しています。

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

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

(以下、画像は1000行の一部分です。)

Pythonは以上です。

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

■ GASでの解き方 ■

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

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

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

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

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

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

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

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

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

const ss = SpreadsheetApp.getActiveSheet();

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

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

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

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

console.log(num);

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

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

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

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

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

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

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

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

}

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

石神井公園のサイクルボートから撮影した桜

←前の問題へ          標準入力その5へ

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力4」へ戻る
paizaレベルアップ問題集_ PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その4「STEP: 4 100 行の整数の入力」をPythonとGASで解いたコードの紹介

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

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

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

問題:
整数 a_1, a_2, … , a_99, a_100 が 100 行で与えられるので a_1, a_2, … , a_99, a_100 を 100 行で出力してください。

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

■ Pythonでの解き方 ■

手順として、

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

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

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

入力例1
4090
4199
9064
6517
9620



(省略)



7940
452
7535
9976
4574

出力例1
4090
4199
9064
6517
9620



(省略)



7940
452
7535
9976
4574

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

このコードで入出力を行います。
ループを100回まわして、その中で標準入力で変数tempに代入して、tempを出力しています。

#標準入力で100行取り込んで出力する
for i in range(100):
    temp=int(input())
    print(temp)

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

(以下、画像は100行の一部分です。)

Pythonは以上です。

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

■ GASでの解き方 ■

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

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

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

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

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

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

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

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

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

const ss = SpreadsheetApp.getActiveSheet();

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

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

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

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

console.log(num);

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

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

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

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

function standardInput17(){

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

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

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

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

}

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

この記事を書いている今は3月。春といえば桜。2021年に撮影した遊歩道の桜です。

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

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力4」へ戻る
paizaレベルアップ問題集_ PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その4「STEP: 3 5 行の整数の入力」をPythonとGASで解いたコードの紹介

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

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
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で解いてみます。

■ 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);

}

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

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

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

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力4」へ戻る
paizaレベルアップ問題集_ PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その4「STEP: 2 2 行の整数の入力」をPythonとGASで解いたコードの紹介

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

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

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

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

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

■ 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);

}

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

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

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

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力4」へ戻る
paizaレベルアップ問題集_ PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その4「STEP: 1 1 行の整数の入力」をPythonとGASで解いたコードの紹介

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

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

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

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

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


■ 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);

}

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

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

←標準入力その3へ          次の問題へ→

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力4」へ戻る
paizaレベルアップ問題集_ PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その3「FINAL問題 【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力」をPythonとGASで解いたコードの紹介

この記事を読むことで、PythonとGASで空白スペースを含む1行の文字列を取得して、空白スペースの所で区切って、ループを使って1000行の文字列に出力する方法が学べます。

また、GASではスプレッドシートを用いて値を取得して出力しています。
更にPythonではループを基本的な書き方と内包表記の書き方の2通りで掲載します。

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

Pythonではpaizaに入会しなくても問題集を解きたい方向けにpaiza.ioを用いております。paiza.ioの使い方はこちらから。

(入会するか否かは問題集を解いて見てからの読者様のご判断にお任せ致します。
どちらの選択をされても記事を読めるようになっておりますので、安心して下さい。)

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

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


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

手順として、

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

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


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

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

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

入力例の前半と後半の一部を掲載致します。

<前半>

<後半>

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

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

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

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

s=input().split(' ')

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

出力結果です。

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

s=input().split(' ')
#print(s) ←この行をコメントアウトする

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

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

Pythonでコメントアウトする場合、1行でしたら「#(シャープ)」ですが、複数行をコメントアウトする際には、「’(シングルクォーテーション)」を3つで「”’」か、「”(ダブルクォーテーション)」を3つで「”””」を使います。
この記事では「”’」とシングルクォーテーションを使っております。

s=input().split(' ')
#print(s) 

'''
通常のループ
for word in s:
    print(word)
'''

#内包表記のループ
[print(word) for word in s]

実行結果は長いので、前半と後半に分けて掲載致します。
まずは前半です。

後半です。

ここまでのコードから、コメントアウトの部分を削除したシンプルなコードです。

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

#内包表記のループ
[print(word) for word in s]


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

B1(1,2)から始まる緑色の所に入力した文字列を取得して、それをB3(3,2)から始まる黄色い所に出力します。

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

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

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

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

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

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

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

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

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

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

それでは各手順を具体的に見ていきます。

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

GASでは、「standardInput5」と言う関数にコードを書いていきます。
Standard Inputで標準入力の意味です。

const ss = SpreadsheetApp.getActiveSheet();

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

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  
}

手順2:緑色のセルB1(1,2)を取得して、空白区切り文字の所で区切って配列arrayに格納する

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

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  
  //B1(1,2)から始まる緑色のセルを配列arrayに取得する
  const array=ss.getRange(1,2).getValues().split(' ');

}

手順3:配列arrayに格納出来たことをログ出力で確認する

console.log(array);

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  const array=ss.getRange(1,2).getValue().split(' ');

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

}

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

let array2 = [];

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

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  const array=ss.getRange(1,2).getValue().split(' ');
  console.log(array);

  //二次元配列を宣言
  const array2=[];

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

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

console.log(array2);

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  const array=ss.getRange(1,2).getValue().split(' ');
  //console.log(array); ←ここ、コメントアウトする

  const array2=[];

  
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

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

}

手順7:スプレッドシートの黄色いセルB3(3,2)に出力する

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

コードと実行結果です。

function standardInput5() {

  const ss=SpreadsheetApp.getActiveSheet();
  const array=ss.getRange(1,2).getValue().split(' ');
  //console.log(array); ←ここ、コメントアウトする

  const array2=[];

  
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

  console.log(array2);

  //スプレッドシートの黄色いセルB3から二次元配列の長さ分を出力する
  ss.getRange(3,2,array2.length).setValues(array2);

}

実行後のスプレッドシートですが、長いので前半と後半に分けて掲載致します。

まずは前半です。

後半です。

(入力データのある1行目は、行固定をしています。行番号を選択して、表示メニューの表示→固定から行1までを選んでいます。)


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

クリスマスシーズンに訪れた「恵比寿ガーデンプレイス」の、フランスのクリスタルメーカー「バカラ」のシャンデリアのクールなブルーです。

←前の問題へ          標準入力その4へ→

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

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

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

■ 関連記事 ■

paizaレベルアップ問題集「標準入力3」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

モバイルバージョンを終了