{
"metadata": {
"name": "branch-loop-sequence"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# \u5206\u652f, \u5faa\u73af\u548c\u5e8f\u5217\n",
"\n",
"## \u5206\u652f\u548c\u5faa\u73af"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import Image, display\n",
"\n",
"for i in range(1, 4):\n",
" if i == 1:\n",
" display(Image(url='http://img3.douban.com/view/photo/thumb/public/p946773286.jpg'))\n",
" elif i == 2:\n",
" display(Image(url='http://img3.douban.com/view/photo/thumb/public/p946773315.jpg'))\n",
" else:\n",
" display(Image(url='http://img3.douban.com/view/photo/thumb/public/p946773327.jpg'))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"
"
],
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
"
"
],
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
"
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import HTML, display\n",
"\n",
"imgs = []\n",
"for i in [2, 0, 1, 3]:\n",
" imgs.append('
' % i)\n",
"display(HTML(''.join(imgs)))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"![](\"http://gelbooru.com/counter/2.gif\")
![](\"http://gelbooru.com/counter/0.gif\")
![](\"http://gelbooru.com/counter/1.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def show_number(x):\n",
" ds = []\n",
" while True:\n",
" ds.append(x % 10)\n",
" x = x / 10\n",
" if x == 0:\n",
" break\n",
" imgs = []\n",
" for i in reversed(ds):\n",
" imgs.append('
' % i)\n",
" display(HTML(''.join(imgs)))\n",
" \n",
"for i in range(100, 110):\n",
" prime = True\n",
" for j in range(2, i - 1):\n",
" if i % j == 0:\n",
" prime = False\n",
" break\n",
" if not prime:\n",
" continue\n",
" show_number(i)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"![](\"http://gelbooru.com/counter/1.gif\")
![](\"http://gelbooru.com/counter/0.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
"![](\"http://gelbooru.com/counter/1.gif\")
![](\"http://gelbooru.com/counter/0.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
"![](\"http://gelbooru.com/counter/1.gif\")
![](\"http://gelbooru.com/counter/0.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
"![](\"http://gelbooru.com/counter/1.gif\")
![](\"http://gelbooru.com/counter/0.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u8868\u63a8\u5bfc(list comprehension)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import HTML, display\n",
"\n",
"img = '
'\n",
"display(HTML(''.join([img % i for i in range(10)])))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"![](\"http://gelbooru.com/counter/0.gif\")
![](\"http://gelbooru.com/counter/1.gif\")
![](\"http://gelbooru.com/counter/2.gif\")
![](\"http://gelbooru.com/counter/3.gif\")
![](\"http://gelbooru.com/counter/4.gif\")
![](\"http://gelbooru.com/counter/5.gif\")
![](\"http://gelbooru.com/counter/6.gif\")
![](\"http://gelbooru.com/counter/7.gif\")
![](\"http://gelbooru.com/counter/8.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import HTML, display\n",
"\n",
"img = '
'\n",
"display(HTML(''.join([img % i for i in range(10) if i % 2 == 0])))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"![](\"http://gelbooru.com/counter/0.gif\")
![](\"http://gelbooru.com/counter/2.gif\")
![](\"http://gelbooru.com/counter/4.gif\")
![](\"http://gelbooru.com/counter/6.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\u5b57\u5178\u4e5f\u53ef\u4ee5\u63a8\u5bfc(\u5b57\u5178\u63a8\u5bfc, dict comprehension):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print {a: b for a, b in [(1, 'one'), (2, 'two')]}"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"{1: 'one', 2: 'two'}\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u751f\u6210\u5668(generator)\n",
"\n",
"\u751f\u6210\u5668\u4e5f\u662f\u4e00\u79cd\u5e8f\u5217."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print type(1), type(2.0), type('foo')\n",
"print type(i for i in range(10))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" \n",
"\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import HTML, display\n",
"\n",
"img = '
'\n",
"display(HTML(''.join(img % i for i in range(3))))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"![](\"http://gelbooru.com/counter/0.gif\")
![](\"http://gelbooru.com/counter/1.gif\")
"
],
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\u8fd9\u79cd\u5e8f\u5217\u53ef\u4ee5\u662f\u65e0\u9650\u957f\u7684:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def natural_number():\n",
" i = 0\n",
" while True:\n",
" yield i\n",
" i += 1\n",
"\n",
"for i, _ in zip(natural_number(), range(10)):\n",
" print i"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n",
"9\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## zip"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def even_number():\n",
" return (i for i in natural_number() if i % 2 == 0)\n",
"\n",
"print zip(even_number(), range(3))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[(0, 0), (2, 1), (4, 2)]\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\u6ce8\u610f\u5143\u7ec4\u7684\u62ec\u53f7\u91cc\u5fc5\u9700\u81f3\u5c11\u6709\u4e00\u4e2a\u9017\u53f7. \u5982\u679c\u5c0f\u62ec\u53f7\u91cc\u6ca1\u6709\u9017\u53f7, \u5c31\u4ec5\u4ec5\u8868\u793a\u4e00\u79cd\u4f18\u5148\u7ea7.\n",
"\n",
"\u4e0e\u751f\u6210\u5668\u4e0d\u540c, \u8868\u63a8\u5bfc\u6ca1\u6709\u5ef6\u8fdf\u8ba1\u7b97\u7684\u6027\u8d28, \u4e0d\u80fd\u751f\u6210\u65e0\u9650\u957f\u5e8f\u5217(\u4f7f\u7528\u83dc\u5355\u91cc\u7684Kernel > Interrupt\u4e2d\u65ad\u7a0b\u5e8f):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def even_number():\n",
" return [i for i in natural_number() if i % 2 == 0]\n",
"\n",
"print zip(even_number(), range(3))"
],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}