# 第4章 用海龟画图

#### 4.1 使用Python的turtle(海龟)模块

turtle模块提供了编写向量图的方法，基本上就是画简单的直线、点和曲线。

###### 4.1.1 创建画布
``````>>> import turtle
>>> t = turtle.Pen()
``````
###### 4.1.2 移动海龟
``````>>> import turtle
>>> t = turtle.Pen()
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
``````

reset是重置命令，清除画布并把海龟放回开始的位置；clear 是清除命令，它只清楚屏幕，海龟仍留在原位。

up是把画笔从纸上抬起来，即停止作画，down是开始作画，以下代码是画两条平行线

``````>>> t.reset()
>>> t.backward(100)
>>> t.up()
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.down()
>>> t.forward(100)
``````

# 第5章 用if和else来提问

#### 5.1 if语句

``````>>> age = 13
>>> if age > 20:
print('You are too old!')

>>> age = 25
>>> if age > 20:
print('You are too old!')

You are too old!
``````

#### 5.2 条件语句帮我们作比较

``````>>> age = 10
>>> if age > 10:
print('You are too old for my jokes!')

>>> age = 10
>>> if age >= 10:
print('You are too old for my jokes!')

You are too old for my jokes!
>>> age = 10
>>> if age == 10:
print('You are too old for my jokes!')

You are too old for my jokes!
``````

#### 5.3 if-then-else语句

``````>>> print('Want to hear a dirty joke?')

Want to hear a dirty joke?
>>> age = 12
>>> if age == 12:
print('A pig fell in the mud')
else:
print('Shh. It\' a secret.')

A pig fell in the mud
``````

#### 5.4 if和elif语句

``````>>> age = 12

>>> if age == 10:
print('What do you call an unhappy cranberry?')
print('A blueberry!')
elif age == 11:
print('What did the green grage say to the blue grape?')
print('Breathe! Breathe!')
elif age == 12:
print('What didi 0 say to 8?')
print('Hi guys!')
elif age == 13:
print('Why wasn\'t 10 afraid of 7')
print('Because rather eating 9,7,8 pi.')
else:
print('Huh?')

What didi 0 say to 8?
Hi guys!
``````

#### 5.5 组合条件

``````>>> age = 12

>>> if age == 10 or age == 11 or age == 12 or age == 13:
print('What is 13 + 49 + 84 + 155 + 97 ? A headache!')
else:
print('Huh?')

What is 13 + 49 + 84 + 155 + 97 ? A headache!
``````
``````>>> age = 12

>>> if age >= 10 and age <= 13:
print('What is 13 + 49 + 84 + 155 + 97 ? A headache!')
else:
print('Huh?')

What is 13 + 49 + 84 + 155 + 97 ? A headache!
``````

#### 5.6 没有值得变量——None

None的含义是没有值。注意，None不是一个值为0的数字。

``````>>> myval = None

>>> print(myval)

None
``````
``````>>> myval = None

>>> if myval == None:
print('The variable myval doesn\'t have a value')

The variable myval doesn't have a value
``````

#### 5.7 字符串与数字之间的不同

10与'10'不同，前者是数字，后者是字符串。但二者可以转换

``````>>> age = '10'

>>> if age > 9:
print('You are too old')

Traceback (most recent call last):
File "<pyshell#82>", line 1, in <module>
if age > 9:
TypeError: '>' not supported between instances of 'str' and 'int'
>>> converted_age = int(age)

>>> if converted_age > 9:
print('You are too old')

You are too old
``````

``````>>> age = 10

>>> converted_age = str(age)

>>> age = '10.5'

>>> converted_age = float(age)

``````

# 第6章 循环

#### 6.1 for循环

``````>>> print('hello')

hello
>>> print('hello')

hello
>>> print('hello')

hello

>>> print('hello')

hello
>>> print('hello')

hello
``````

``````>>> for x in range(0,5):
print('hello')

hello
hello
hello
hello
hello
``````

``````>>> print(list(range(10,20)))

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
``````

``````>>> for x in range(0,5):
print('hello %s' % x)

hello 0
hello 1
hello 2
hello 3
hello 4
``````

``````>>> wizard_list = ['spider leg','toe of frog','eye of newt','bat win','slug butter','snake dandruff']

>>> for i in wizard_list:
print(i)

spider leg
toe of frog
eye of newt
bat win
slug butter
snake dandruff
``````

magic_coins = 70,表示每天10个魔法币乘以一周的7天

``````>>> found_coins = 20

>>> magic_coins = 70

>>> stolen_coins = 3

>>> coins = found_coins

>>> for week in range(1,53):
coins = coins + magic_coins - stolen_coins
print('Week %s = %s' % (week,coins))

Week 1 = 87
Week 2 = 154
Week 3 = 221
Week 4 = 288
Week 5 = 355
Week 6 = 422
Week 7 = 489
Week 8 = 556
Week 9 = 623
Week 10 = 690
Week 11 = 757
Week 12 = 824
Week 13 = 891
Week 14 = 958
Week 15 = 1025
Week 16 = 1092
Week 17 = 1159
Week 18 = 1226
Week 19 = 1293
Week 20 = 1360
Week 21 = 1427
Week 22 = 1494
Week 23 = 1561
Week 24 = 1628
Week 25 = 1695
Week 26 = 1762
Week 27 = 1829
Week 28 = 1896
Week 29 = 1963
Week 30 = 2030
Week 31 = 2097
Week 32 = 2164
Week 33 = 2231
Week 34 = 2298
Week 35 = 2365
Week 36 = 2432
Week 37 = 2499
Week 38 = 2566
Week 39 = 2633
Week 40 = 2700
Week 41 = 2767
Week 42 = 2834
Week 43 = 2901
Week 44 = 2968
Week 45 = 3035
Week 46 = 3102
Week 47 = 3169
Week 48 = 3236
Week 49 = 3303
Week 50 = 3370
Week 51 = 3437
Week 52 = 3504
``````

#### 6.2 while循环

``````>>> x = 45

>>> y = 80

>>> while x < 50 and y < 100:
x = x+1
y = y+1
print(x,y)

46 81
47 82
48 83
49 84
50 85
``````
``````>>> x = 1

>>> while x < 10:
if x == 5:
break
print(x)
x = x+1

1
2
3
4
``````