注目

猫先生!?がプログラミングをガリ勉してみた。

2019年(令和元年)11月1日設立

「Amazonのアソシエイトとして、[猫★シエスタ]は適格販売により収入を得ています。」

ご訪問ありがとうございます!!このサイトの管理人の「猫★シエスタ」と申します。


・発達障害(自閉症スペクトラムASD アスペルガー症候群 、ADHD)
・ロスジェネ負け組(就職氷河期世代)
・LGBT(トランスジェンダーFTM)

と、自分に自信を持てなかった私が、プログラミングや読書などの学びを通して成功体験を積み重ねていく過程をブログに綴っています。

写真の投稿を始めました。
(写真AC)のプロフィールページです。

<<このブログ内の、オススメ記事3選!>>

何の本を読んだらよいのか分からない時に読む記事

挫折経験者が語る!!これからプログラミングをはじめる方へ

基本情報技術者試験トップ

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

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

以下が、メインメニューになります

連絡先  自己紹介
 
(人事採用担当者様宛)障害者雇用、その前に

これからプログラミングをはじめる方へ

プログラミングの疲れ目対策と視力維持に向けて

保護者の方へ。子ども(小学生向け)プログラミングの予習

プログラミング学習で関わってはいけない人達と逃げるべき環境

プログラミングと資格について  

■プログラミングと健康■
プログラマこそストレッチ(子ども&大人向け)

風呂グラミング(入浴剤紹介)

■アプリ作成■

Swiftについて

WindowsからMacにパソコン買い換え

Pythonでkivyというライブラリー使用してマルチタッチアプリを作る!!

■自作サンプルプログラム■

GAS(Google Apps Script)


paizaレベルアップ問題集をPythonとGASの両方で解いてみた。

Python

C言語

アセンブラCASL2

Java

VBA

SQL

基本情報技術者試験トップへ

取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ!

急にプレゼン資料を作ることになったから手っ取り早くパワポ教えてくれ!!!!!

■ おススメ本! ■
発達障害と健康  心がラクになる本


何の本を読んだらよいのか分からない時に読む記事

ストレス解消グッズなど  写真で癒し

ハッカ愛からハッカー!?

アロマでゴキブリを追い出せ!!

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

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

等々力渓谷 東急大井線世田谷区の自然(2019年7月コロナ前の写真スライド)

お疲れ様です。

等々力渓谷は、東京都世田谷区にあるのですが、とても東京23区内とは思えないほどの静けさと水辺の涼しさと自然が味わえました。

動画の中から写真を紹介します。

渓谷の石碑。

小道を歩いていくと

涼しげな滝に、

木々に囲まれ、自然を満喫出来ました。

駅に到着して、気になるポスターを発見!!

人をぶっちゃダメなんだよ。暴力は犯罪です。

このポスターも動画に入れました。

息抜きに、写真で癒し(=^x^=)に戻る
自己紹介

ストレス解消グッズ
心がラクになる本
発達障害と健康の本
何の本を読んだら良いのか分からない時に読む本

インスタ再開しました。

写真スライドショーが作れる動画編集ソフトを使って、YouTubeにUPしてます。

写真の投稿を始めました。
(写真AC)のプロフィールページです。

湘南片瀬海岸 江の島の写真(2017年コロナ前)

お疲れ様です。
コロナ前の2017に、JR小田急線を乗り継いで、片瀬江ノ島に行った時の写真を整理して動画にしました。

駅から徒歩10分で片瀬海岸へ。

そこから船で江ノ島の岩場へ行きました。

ダイナミックな波が味わえました。

ただ、足元が危ないので、撮影される方はお気を付けて。

片瀬海岸

江ノ島岩場

息抜きに、写真で癒し(=^x^=)に戻る
自己紹介

ストレス解消グッズ
心がラクになる本
発達障害と健康の本
何の本を読んだら良いのか分からない時に読む本

インスタ再開しました。

写真スライドショーが作れる動画編集ソフトを使って、YouTubeにUPしてます。

写真の投稿を始めました。
(写真AC)のプロフィールページです。

立川市のひまわり(国営昭和記念公園)

青梅線に乗って、立川市の西立川駅にある、昭和記念公園でひまわりの中でも、さんフィニティという品種の花を撮影しました。

秋葉原方面から出かけたので、移動距離はかなりあり、新宿を越え、中央線で立川まで行き、青梅線に乗り換えて西立川で下車

動画の中から写真を抜粋します。

西立川駅の空

園内に入り、

もみじ橋を渡って少しで到着!

小ぶりながら強くしなやかに、優しく咲いているひまわりに癒された日帰り旅行でした。

この日の歩数計です。

気分転換になりました。

息抜きに、写真で癒し(=^x^=)に戻る
自己紹介

ストレス解消グッズ
心がラクになる本
発達障害と健康の本
何の本を読んだら良いのか分からない時に読む本

インスタ再開しました。

写真スライドショーが作れる動画編集ソフトを使って、YouTubeにUPしてます。

写真の投稿を始めました。
(写真AC)のプロフィールページです。

プログラミングの疲れ目対策と視力維持に向けて

この記事では、プログラミングで長時間PCと睨めっこして目が疲れてしまった方向けの疲れ目対策と、これ以上視力が下がらないようにするための方法をまとめました。
目のストレッチと疲れ目に効く手のツボを紹介します。

トップページに戻る
はじめてのWeb制作(HTML/CSSドットインストール無料レッスンノート)
プログラミング学習で関わってはいけない人達と逃げるべき環境
プログラミングと資格について
自己紹介ページ

こちらのサイトから、私がよく行っている目のストレッチを引用してまとめました。
マイケアさんのサイトです。

ギュッぱ体操 〜目の渇きや視力低下防止に〜
・目をギュッと閉じてパッと開ける
・頭を動かさないように、黒目を右→左→上→下→に動かす 4〜5回繰り返す。
・30分に一度ぐらいやる

パチパチ体操 〜PC、スマホによる疲れ目に効果的〜
・1分ほど目を開いたり閉じたりする。
・終わったらまぶたを閉じてしばらく休ませる。
・一日に数回行うと良い

ピント合わせ体操 〜 目の機能をリフレッシュ 〜
・近くのものを10秒から20秒見つめる
・視線をなるべく遠くに移し、5分ほど眺める
・1日に4回から5回ほど

次にこちらのサイトのトレーニングを紹介します。先進会眼科さんのサイトです。
自宅で視力回復?眼のためにできるトレーニング5つのやり方|注意点も解説

眼球ぐるぐる
・目の動きをなめらかにして、ものを見やすくするのに役立つ。
・一点ばかり集中していると、目の筋肉が固くなり、運動不足になる。目の末梢神経が悪くなり、酸素や栄養が行かなくなるので優しくほぐす運動。

やり方:
・両方の目をゆっくり大きく回転させる。
・1周10秒ぐらいかける。右回り2〜3周、左回り2〜3周、寄り目にして5秒キープ。

最後に手のツボです。
Medicalook(メディカルック)さんのサイトです。
眼精疲労「手のツボ」を3つご紹介!疲れ目・かすみ目を解消したい方へ

こちらのサイトでは、

・親指と人差し指の間
・親指
・小指

のツボを紹介しています。
手のツボなのでメガネをしたままでも押せますね。
また、目の周りや眉毛にも疲れ目に効くツボが集中しているので、
もっとじっくり目の疲れを取りたい方はメガネを外して目の周りや眉毛の辺りをゆっくり押して、目を労ってください。

追加で、目の周りのツボの紹介です。赤岩治療院さんの図解が分かりやすかったので、ここで紹介します。

トップページに戻る
はじめてのWeb制作(HTML/CSSドットインストール無料レッスンノート)
プログラミング学習で関わってはいけない人達と逃げるべき環境
プログラミングと資格について
自己紹介ページ

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

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

}

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

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

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

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

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