完全初心者
とりあえず課題くれ
完全初心者
とりあえず課題くれ
youtubeの動画からBPMを取得してくれ
入門書を一冊買って一通りやれ
Common Lispがオススメ
今すぐ GNU_CLISP をDownLoad!
{lisp気になるけど大きいもの作らないならパイソンでいいのではと思ってしまう}
初心者が気軽にDownLoadして
プログラミングを一人で勉強し始める
↑ そういう場合に Pythonの方がカンタンなの?
ちょっと信じがたいんだが・・・
そういうPython入門のページが有ったら教えて!
疑惑くんlispなんだpythonの処理速度遅すぎて止まって見えると思うよ
Pythonから始めようとしたらjavaからやれって言われた
曰く簡単な言語から始めるなと
逆なんだよなぁ
言語特有の壁なんて躓く原因にしかならないから簡単なやつで始めろ
強い敵から襲う → すぐに負けて続かない
まずphpとかperlはプログラミングではないというのが難しい
プログラミング、とりあえず楽しいってこと知った方がいいから俺はpythonでセレニウムオススメするよ
動くのみてて楽しい
phpは環境構築大変で、厄介なイメージあるけどやった方がいいの?
phpなんてもう誰も使ってないでしょ
php は言語本体もアプリ開発者たちもセキュリティーに対する意識が低すぎだからおすすめできない
phpってだめなんか
webサイト作りなら何がいいの?
俺もphpはそう思う
でもいまだにweb系で見かけるからその必須なのかなって。。
>>2
BPMの意味が分からないし、取得する方法もわからないから無理
>>3
具体的に専門書を紹介してくれないと無理
>>4
GNU_CLISPをどこでダウンロードできるのかわからないから無理
(https://sourceforge.net/projects/clisp/files/latest/downloadを入れたhttps://i.imgur.com/5ShV2rZ.png)
>>11
細かいことは気にしないよ
>>12
セレニウムが何かわからないし、そもそも何をすればいいのかわからないから無理
>>13
phpじゃないとデータベースにアクセスできないって聞いたんだけど、ほかに方法があるん?
課題出したのにやらねえとかツマンネ
じゃあスレ立てんなよ
PHPが10年前のイメージで止まってるやつ多すぎ
まあPythonRubyPHPあたり選んどけば間違いない
Perl・・・
GNU_CLISP をDownLoadしたとは、ハラショーだ!
とりあえず、以下ページを読んでみて。
https://qiita.com/minekai374/items/f146009b403ed9395fe0
Lispでの関数定義はdefunで行います。
試しに階乗(例: 5!=5*4*3*2*1)の関数factを書いてみましょう。
defun.lsp
(defun factorial(x)
(if (= x 0) 1
(* n (factorial (- n 1)))))
(print (factorial 5))
このページが済んだら、次は 「九九表」を出力するプログラムを書いてみる。
(defun factorial (x)
(if (= x 0)
1
(* n (factorial (- n 1)))))
(print (factorial 5))
このページが済んだら、次は 「九九表」を出力するプログラムを書いてみて。
他にも 「Lisp定番の問題・課題リスト」 が有るハズ
Butlast、Append、Flatten、 ハノイの塔、 順列、組み合わせ。・・・
a.lsp:
(defun abcd(y)
(if(= y 10) (print (abc y))
(progn
(defun abc(x)
(if(= x (* y 10)) nil
(cons x (abc (+ x y)))
)
)
(print (abc y))
(abcd (+ y 1))
)
)
)
(print (abcd 1))
console:
[24]> (load "a.lsp")
;; Loading file a.lsp ...
(1 2 3 4 5 6 7 8 9)
(2 4 6 8 10 12 14 16 18)
(3 6 9 12 15 18 21 24 27)
(4 8 12 16 20 24 28 32 36)
(5 10 15 20 25 30 35 40 45)
(6 12 18 24 30 36 42 48 54)
(7 14 21 28 35 42 49 56 63)
(8 16 24 32 40 48 56 64 72)
(9 18 27 36 45 54 63 72 81)
*** - Program stack overflow. RESET
どこでオーバーフローしてるのかわからない…
|(defun abcd(y)
| (if(= y 10) (print (abc y))
| (progn
| (defun abc(x)
| (if(= x (* y 10)) nil
| (cons x (abc (+ x y)))
| )
| )
| (print (abc y))
| (abcd (+ y 1))
| )
| )
|)
|(print (abcd 1))
てす と
(if(= y 10) (print (abc y))
ハラショーだ! Lisp バンザイ!
Defun の中に Defun が入れ子になってる?
Vimエディタ等なら カッコ対応を教えて貰えるし、自動インデントだし・・・・
(defun abcd(y)
(if(= y 10) (print (abc y))
(progn
(defun abc(x)
(if(= x (* y 10)) nil
(cons x (abc (+ x y)))
)
)
(print (abc y))
(abcd (+ y 1))
)
)
)
(print (abcd 1))
「九九表」を出力するプログラム って「Lisp入門」 (プログラミング入門)に良さそう。
1. 値として ( ((1x1=1)(1x2=2)…) ((2x1=2)(2x2=4)…) ・・・ ) を返す関数を書く。
(逆順 (99から始まる)の方がラク? )
2.出力するヤツ
3. 【再帰で書く。 Doループで書く。】 の両方やる。
(以上も、値と出力の両方やる)
>>27
再帰してる間に新しい関数?を毎回定義してます!
カッコの数とかインデントとか自分でもできるようになるために、今はメモ帳のままで大丈夫です
Defun の中に Defun が入れ子になる書き方は普通ない。
1回定義すれば良い。
TwitterBotって (Pythonじゃなくて) Common Lispでも書けるん?
>>29
変数を定義しないで1.の関数書く方法がわからない…
Doループの書き方を教わってないからわからない…
>>31
変数使わずに関数が書けなくて、defunを変数代わりに使ってる…
common-lisp doループ
https://riptutorial.com/ja/common-lisp/example/21976/do%E3%83%AB%E3%83%BC%E3%83%97
(let ((vars (list 1 2 3 2 2 1 ))) ・・・・
→ (2 3) ; 1は2個で、 2は3個
Defun の中に Defun が入れ子になる書き方は普通ない。
(補助関数を定義する場合の) 普通の書き方 は:
(defun run () (kuku 9))
(defun kuku (x) .... (kuku-Row x) .... )
(defun kuku-Row (x) .... .... ) ; 1行だけ処理
順列、組み合わせ。・・・
(値と出力) x 【再帰で書く。 Doループで書く。】 の両方やる。
(Perm ’(a b c) 2) → ((a b) (a c) (b a) (b c) (c a) (c b) )
; 順番はどうでも良い ↑↓
(Combi ’(a b c) 2) → ((a b) (a c) (b c) )
>>2 youtubeの動画からBPMを取得してくれ
テンポ(BPM=Beats Per Minute、速さ)
【徹底解説】BPM(テンポ)を自動で測定する「BPM Analyzer 」が超オススメ ...
自動測定する プログラム って、 高度すぎるのでは? w w w !
卒論レベルだろ?w
>>12 pythonでセレニウム オススメするよ
https://qiita.com/kinpira/items/383b0fbee6bf229ea03d
> PythonでSeleniumを使って スクレイピング (基礎)
↑ いまいちワカラン。 「スクレイピング」 も初めて聞いたw
世代の違いを感じるw
若い人は、 (初心者にとっての) 「プログラミング入門」 というと、 「ツールとかAPIの使い方を学ぶ」 という発想になるのか??? w w w
若い人は 「ぜんぶ手打ちでHtmlページを書く」 (手作りのWebページ) とかも経験ないのか?
ループのシンタックスがいまいちわからなくていろいろ試してる…
>>38
youtubeの動画のテンポがそもそも何を意味してるのか分からん
>>39
俺は今htmlも書いてるよ
https://ss003168015.000webhostapp.com/rattatta.html
スマホのアプリに有るだろうが、
テンポBPMを自動検出して教えるツールの事だろう
テンポBPM = メトロノームの 「カチ、カチ、カチ」 のアレ
html手打ちすることはあるけどそれでできることが限られてるからもうあるものいっぱい使ってやっちゃえってノリかな
その方が動きも派手でプログラミング自体の楽しさを実感するし
動画とかの音からテンポを測定するプログラムを組むんだ
7年前には動画に合わせてクリックするって言うアナログな方法はあったけどな
http://www.vocalist.org.uk/beats_per_minute_reference_chart.html
>>41
テンポBPMはわかったけど、それとyoutubeの動画の関係がわからない
メトロノーム鳴らしてる動画を見てるってこと?
>>42
動画の音ってもしかして曲とかの話してるん?
そう
曲からテンポを割り出すって、機械に耳コピさせて楽譜再現させるようなもんじゃないか?
意外とできそう
>>37 より易しい問題
x='(a b b c a) y='(c b a a b) みたいなリストが集合として同じかを判断する関数
(Cross ’(a b c) 2) → ((a a) (a b) (a c) (b a) (b b) (b c) (c a) (c b) (c c) )
; 順番はどうでも良い ↑
> どこでオーバーフローしてるのかわからない…
いわゆる 「Implementation Dependent」の問題 じゃないかと思うので、全体像(問題の所在)が見えないが、
>>28
> (defun abcd(y) (if(= y 10) (print (abc y))
これを
> (defun abcd(y) (if(= y 10) nil
とすると、 正常終了してくれる ♪
いまいち美しくないが・・・
(defun kuku (y)
(if (= y 10) nil
(progn
(print (kukuRow y y (* y 10)))
(kuku (+ y 1)) ) ))
(defun kukuRow (x incval stopval)
(if (= x stopval) nil
(cons x (kukuRow (+ x incval) incval stopval )) ))
(kuku 1) ; 実行!
やっと分ったw
>>28
> (defun abcd (y)
(if (= y 10) (print (abc y))
(progn
(defun abc(x)
(if (= x (* y 10)) nil
この最後の行を
> (if (>= x (* y 10)) nil
に変えると、 正常終了してくれる ♪
>>23 console:
[24]> (load "a.lsp")
1. (load "a") でも良い。
2. キーボードの ↑(矢印ボタン) を使うと入力が省略できる。
>>49
そういうことか!
クソコードなのに直してくれてありがとう
(defun kuku () ; 印刷のみ
(do ((x 1 (1+ x))) ((>= x 10) nil)
(do ((y 1 (1+ y))) ((>= y 10) nil)
(format t " ~3d " (* x y)))
(format t "~%")))
(kuku )
(defun kukuval () ; 値は逆順(99から)
(do ((val nil) (x 1 (1+ x)))
((>= x 10) val)
(do ((row nil) (y 1 (1+ y)))
((>= y 10) (push row val))
(push (* x y) row)) ))
(defun run () (kukuval ))
(setq kk (reverse (mapcar #'reverse (run)))) ; Mapcarが APL(関数プログラミング)ふう
で、実行して結果(出力)を見ると分るけど、 >>49
> (defun abcd (y)
(if (= y 10) (print (abc y))
(progn
(defun abc(x)
(if (= x (* y 10)) nil
DefunがLetrecみたいな実現に成ってゐて、 (Funarg)Closureの中に その時点でのYの値が (ry) なんだらうね ♪
じゃ、またね! ♪
https://next2ch.net/prog/1532120214
Lisp(Common Lisp、Scheme)Lisp LISPは、プログラミング言語である。前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用
Python ってメチャ快適だな。 (ただし、Vim使い始めると入力方法で混乱するな)
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
fib(100)
for x in range(9): # 九九表
for y in range(9):
print((x+1)*(y+1), end=' ')
print()
>>28
> (defun abcd (y)
(if (= y 10) (print (abc y))
(progn
(defun abc(x)
(if (= x (* y 10)) nil
Python では、こういう (Defunの中にDefunが入れ子の) 書き方が認められてるようだ。
但し、 内側のDefunの実行時に 「その時点でのYの値」 が 「凍結」されてClosureの中に保存される事になって (ry
プログラミング初心者への
応援のキモチを込めて 「九九表」のプログラム をドゾー!
for x in range(1,10):
for y in range(1,10):
print("{0:3d}".format(x*y), end=' ')
print()
簡単でいいね
cmdからプログラムを実行するときに、拡張子を別のものとして実行することって出来る?
例えばprogram.batを書いて、その拡張子をprogram.nepに変えた後にcmdからprogram.nepをprogram.batとして実行する
取り敢えず実行してみれば
拡張子って別にプログラムとの関連付けに使ってるだけだからね
なんならなくてもいいぐらい
お前馬鹿なの?
;;
Pathの問題?
1行目に何か入れないと実行できないんだっけ?
pathはユーザー名であってると思うよ
そこにprogram.nepを入れたから
実際pathが何をどうするもので、どうやればプログラムが走るのか分からずに始めてる事あるよね
それぼく
諦めんなwwwwwww