トップ «前の日記(2014-09-07(Sun)) 最新 次の日記(2014-09-09(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2014-09-08(Mon) 晴れてかなり涼しく

リスト切り詰めの試し

リストは二つも要らないかも、という発想が浮かんだ。
大きいリストに小さいリストを併合して、排他的に なるよう按排してみる。

#!/usr/bin/env python
from __future__ import print_function
from sys import argv
 
try:
  last = int(argv[1]) + 1
except:
  print("No last number.")
  exit(2)
 
list = ['buzz', False, 'fizz', False, False]
 
for x in range(1, last):
  y = x % 3 + 2
  z = x % 5
  flag1, flag2 = True, True
  if  list[y] == 'fizz':
    print(list[y], end='')
    flag1 = False
  if  list[z] == 'buzz':
    print(list[z], end='')
    flag2 = False
  if  flag1 and flag2:
    print(x, end='')
  print('')

なんとかバスの中で動作確認できた。
それにしてもflag を二つも設けるのはどう見ても変だ。
そのうちなんとかせねば。

リスト削減、されど。

ここまでくれば、単なる本末転倒。
リストの長さを3にしただけでは、

     1	1
     2	2
     3	fizz
     4	buzz
     5	buzz
     6	fizz
     7	7
     8	8
     9	fizzbuzz
    10	buzz
    11	11
    12	fizz
    13	13
    14	buzz
    15	fizzbuzz
    16	16

このように余計なものがいくつか出た。そこで "14"とか "29"とか を省く処理(真偽判定に少々嵌った)を追記。
単に面倒になっただけという。

#!/usr/bin/env python
from __future__ import print_function
from sys import argv
 
try:
  last = int(argv[1]) + 1
except:
  print("No last number.")
  exit(2)
 
list = ['fizz',False,'buzz']
 
for x in range(1, last):
  y = x % 3
  z = abs(x % 5 - 2)
  flag1, flag2 = True, True
  if  list[y] == 'fizz':
    print(list[y], end='')
    flag1 = False
  if  (list[z] == 'buzz') \
      and (str(x).find('4')) \
      and (str(x).find('9')):
    print(list[z], end='')
    flag2 = False
  if  flag1 and flag2:
    print(x, end='')
  print('')

どこかをいじるとうまくいかなくなっていたが、 Webからコピペしなおすとちゃんと動くようだった。

負の数 JavaScrpt

過去ページを繰っているうちに、過去やってなかったnodeで。

> Math.pow(2, 10)
1024
> Math.pow(2, 2)
4
> Math.pow(-2, 2)
4
> Math.pow((-2), 2)
4

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。