僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
どこかで聞いていたが、それも省略。
なんとかpython2.6 以上(手元にあるのは2.7.3と3.2.3)で
動くようにできた。はずだ。
from __future__ import print_function for num in range(1,101): if(not num%3): print('fizz', end='') if(not num%5): print('buzz', end='') if(num%5 and num%3): print(num, end='') print('')
Cで書いても、大して違わなかった。
演算子の優先順位( "%" は "!" より優先度が低い
(
参考1))に嵌った程度
(python の "%" は、"and" や "not" より上
参考2)。
#include<stdio.h> int main() { int x; for(x=1; x < 101; x++) { if(! (x%3)) printf("fizz"); if(! (x%5)) printf("buzz"); if(x%3 && x%5) printf("%d", x); printf("\n"); } return 0; }
switch ... case 文で書けないかと思ったが、case には論理値は 書けないっぽい("エラー: case ラベルを整数定数に還元できません"と 叱られる)。旨い解決策が浮かばないので、ここまで。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。