Learn Python with Steem #04 笔记
[toc]
划重点
- 循环
人做重复性的事情很低效和枯燥,相比之下让机器来完成这些事更适合,所以在大鹏的《学R》中说,循环是个救世主。
循环由循环条件和循环体组成:满足条件,程序就重复做一类事情,要重复做的事情就是循环体,用缩进体现。
- 循环的类型
循环可分两类:已知重复次数,用 for 循环方便一些,用while循环也可以,for循环还可以对一个容器进行迭代。
不知道具体循环次数或者需要一个死循环,可以使用while循环,直到发现不满足循环条件,就退出循环。
- 字符串格式化
格式化字符串用format()函数,也可以用占位符%。
编程练习
# 作业
for row in range(1, 10):
for col in range(1, row + 1):
print('{}*{}={}'.format(row, col, row * col), end='\t')
print()
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
for row in range(1, 10):
for col in range(1, row + 1):
print('%d*%d=%d' % (row, col, row * col), end='\t')
print()
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
# 猜数游戏
import random
answer = random.randint(1, 100)
counter = 7
while True:
if counter > 0:
print('你还剩%d次机会' % counter)
number = int(input('请输入答案: '))
counter -= 1
if number < answer:
print('太小了')
elif number > answer:
print('太大了')
else:
print('恭喜你猜对了!')
break
else:
print('Game Over!')
break
你还剩7次机会
请输入答案: 50
太小了
你还剩6次机会
请输入答案: 80
太大了
你还剩5次机会
请输入答案: 70
太小了
你还剩4次机会
请输入答案: 75
太小了
你还剩3次机会
请输入答案: 78
太大了
你还剩2次机会
请输入答案: 76
太小了
你还剩1次机会
请输入答案: 77
恭喜你猜对了!
补充
循环控制
# break 跳出循环,终止循环
for i in range(5):
if i == 3:
break
print(i)
0
1
2
# continue 放弃本次循环,但不终止循环
for i in range(5):
if i == 3:
continue
print(i)
0
1
2
4
输出重定向
打印99乘法表的时候查看了print()函数的参数:
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
file=sys.stdout 这个参数没有用过,它默认把输出打印到屏幕(sys.stdout),应该也可以把输出重定向到其他地方,比如文件,
试试看
f = open('K:\Workspace\python\Python-x-Steem-tutorial-master\Python-x-Steem-tutorial\hello.txt', 'w')
print('Hello balabala!!', file=f)
f.close()
%pycat hello.txt
结果:
## 我的笔记:
这个拓展棒棒哒!!!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
O(∩_∩)O哈哈~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit