python九九乘法表菜鸟教程_Python学习笔记二|循环

for循环

列表

for i in [1,2,3,4,5]:

print(i)

print('事情全部办完了!现在留在空房间里的人是谁?')

print(i)

运行结果

for i in [1,2,3,4,5]:

print(i)

print('事情全部办完了!现在留在空房间里的人是谁?')

print(i)

字典

例子1

dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:

print(i)

运行结果

日本

英国

法国

例子2

for i in '吴承恩':

print(i)

运行结果

还是这段代码,代码的运行结果你应该已经了然于心,是“吴“”承“”恩”依次出现。也就是说,当这一群排队的人依次序走进空房间,每个人都会把业务办完。这个过程,在Python中的学名就叫做【遍历】。其实,遍历这个词在古代汉语中就已经出现过了:遍历名山,博采方术。 -前蜀 杜光庭《李筌》

遍历,就是全部走遍,到处周游的意思。

for i in range(13,17):

print(i)

使用range(a,b)函数,你可以生成了一个【取头不取尾】的整数序列。

13

14

15

16

代码

for i in range(3):

print('书恒走的第'+str(i)+'天,想他')

运行结果

书恒走的第0天,想他

书恒走的第1天,想他

书恒走的第2天,想他

while循环

a=1

while a<3:

print(a*5)

a = a + 1

运行结果

5

10

要把字符串'神雕侠侣'拆成一个个字符打印出来,这件事【工作量确定】,适合用for循环。

而对于“输入密码,判断输入的密码是否正确”这件事,我们并不知道要判断几遍才能得到正确密码,所以【工作量不确定】,适合用while循环。

不过有一种情况for循环和while循环都可以解决问题,那就是【把一件事情做N遍】:

# while 循环

n = 0

while n < 7:

n = n+1

if n != 4: # 当num != 4,执行打印语句;等于4时不打印。

print(n)

# for 循环

for num in range(1,8): # 为同时能运行两个循环,新取参数 num。

if num != 4: # 当num != 4,执行打印语句;等于4时不打印。

print(num)

布尔值

假的:False,0,'',[],{},None

其他都是真的

print('以下数据判断结果都是【假】:')

print(bool(False))

print(bool(0))

print(bool(''))

print(bool(None))

print('以下数据判断结果都是【真】:')

print(bool(True))

print(bool(1))

print(bool('abc'))

运行结果

以下数据判断结果都是【假】:

False

False

False

False

以下数据判断结果都是【真】:

True

True

True

break

从循环内跳出(必须和if语句连用)

while循环的使用方法以及跳出循环

while True:

print('上供一对童男童女')

t = input('孙悟空来了吗')

if t == '来了':

break

print('孙悟空制服了鲤鱼精,陈家庄再也不用上供童男童女了')

运行结果

上供一对童男童女

孙悟空来了吗来了

孙悟空制服了鲤鱼精,陈家庄再也不用上供童男童女了

Continue

跳跃到循环开头(必须和if语句连用)

while True:

q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')

if q1 != '黑暗的冰窖':

continue

print('答对了,下面是第二问:')

q2 = input('你生平最爱之人,叫什么名字?')

if q2 != '梦姑':

continue

print('答对了,下面是第三问:')

q3 = input('你最爱的这个人相貌如何?')

if q3 == '不知道':

break

print('都答对了,你是虚竹。')

运行结果

第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖

答对了,下面是第二问:

你生平最爱之人,叫什么名字?梦姑

答对了,下面是第三问:

你最爱的这个人相貌如何?不知道

都答对了,你是虚竹。

Pass

什么都不做(常用在if语句下)

#请你运行代码体验一下

a = int(input('请输入一个整数:'))

if a >= 100:

pass

else:

print('你输入了一个小于100的数字')

运行结果

请输入一个整数:100

如果没有pass来占据一个位置表示“什么都不做”,以上的代码执行起来会报错。

Else

用在循环语句后,如果正常结束循环就执行else语句(没有遇到break循环的小练习)

for i in range(5):

a = int(input('请输入0结束循环,你有5次机会:'))

if a == 0:

print('你触发了break语句,导致else语句不会生效。')

break

else:

print('5次循环你都错过了,else语句生效了。')

运行结果

请输入0结束循环,你有5次机会:5

请输入0结束循环,你有5次机会:4

请输入0结束循环,你有5次机会:4

请输入0结束循环,你有5次机会:4

请输入0结束循环,你有5次机会:4

5次循环你都错过了,else语句生效了。

循环的小练习

猜数字(无穷多次)

secret = 24 #设定秘密数字

while True:

guess = input('你来猜猜我的秘密数字是多少:') #输入猜测数字

if int(guess)==secret: #数字对比

print('正确!你很棒哦。')

break

elif int(guess)>secret:

print('你猜的太大了,请重新猜猜~')

else:

print('你猜的太小了,请重新猜猜~')

运行结果

你来猜猜我的秘密数字是多少:23

你猜的太小了,请重新猜猜~

你来猜猜我的秘密数字是多少:24

正确!你很棒哦。

猜数字(只猜三次)

secret = 24

for i in range(3):

guess = input('guess which number is my secret:')

if int(guess) ==secret:

print('正确!你很棒哦。') #输出结果

break

elif int(guess)>secret:

print('你猜的太大了,请重新猜猜~')

else:

print('你猜的太小了,请重新猜猜~')

else:

print('给你3次机会都猜不到,你失败了。')

运行结果

guess which number is my secret:24

正确!你很棒哦。

循环的鸡汤

while True:

learn()

这是终生学习的意思,while True 开启了一个死循环,一直执行learn() 这个学习的函数,所以代表着终生学习。

囚徒困境

while True:

a = input('Please Enter your decision, A, 1 means admit, 2 means do not admit')

b = input('Please Enter your decision, B, 1 means admit, 2 means do not admit')

if a == 1 and b == 1:

print('A 10 years, B 10 years')

elif a == 1 and b == 2:

print('A 20 years, B 1 year')

elif a == 2 and b == 1:

print('A 1 year, B 10 years')

else:

print('A 3 years, B 3 years')

break

运行结果

Please Enter your decision, A, 1 means admit, 2 means do not admit1

Please Enter your decision, B, 1 means admit, 2 means do not admit1

A 3 years, B 3 years

标准答案

while True:

a = input('A,你认罪吗?请回答认罪或者不认:')

b = input('B,你认罪吗?请回答认罪或者不认:')

if a == '认罪' and b == '认罪':

print('两人都得判10年,唉')

elif a == '不认' and b == '认罪':

print('A判20年,B判1年,唉')

elif a == '认罪' and b == '不认':

print('A判1年,B判20年')

elif a == '不认' and b == '不认':

print('都判3年,太棒了')

break

else:

print('别捣乱,只能回答“认罪”或“不认”!')

运行结果

A,你认罪吗?请回答认罪或者不认:认罪

B,你认罪吗?请回答认罪或者不认:认罪

两人都得判10年,唉

A,你认罪吗?请回答认罪或者不认:认罪

B,你认罪吗?请回答认罪或者不认:不认罪

别捣乱,只能回答“认罪”或“不认”!

A,你认罪吗?请回答认罪或者不认:不认罪

B,你认罪吗?请回答认罪或者不认:认罪

别捣乱,只能回答“认罪”或“不认”!

A,你认罪吗?请回答认罪或者不认:不认

B,你认罪吗?请回答认罪或者不认:不认

都判3年,太棒了

九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print( '%dX%d=%d' % (j,i,i*j),end = ' ' )

print(' ')

运行结果

1 X 1 = 1

1 X 2 = 2 2 X 2 = 4

1 X 3 = 3 2 X 3 = 6 3 X 3 = 9

1 X 4 = 4 2 X 4 = 8 3 X 4 = 12 4 X 4 = 16

1 X 5 = 5 2 X 5 = 10 3 X 5 = 15 4 X 5 = 20 5 X 5 = 25

1 X 6 = 6 2 X 6 = 12 3 X 6 = 18 4 X 6 = 24 5 X 6 = 30 6 X 6 = 36

1 X 7 = 7 2 X 7 = 14 3 X 7 = 21 4 X 7 = 28 5 X 7 = 35 6 X 7 = 42 7 X 7 = 49

1 X 8 = 8 2 X 8 = 16 3 X 8 = 24 4 X 8 = 32 5 X 8 = 40 6 X 8 = 48 7 X 8 = 56 8 X 8 = 64

1 X 9 = 9 2 X 9 = 18 3 X 9 = 27 4 X 9 = 36 5 X 9 = 45 6 X 9 = 54 7 X 9 = 63 8 X 9 = 72 9 X 9 = 81

查询科目

subject = {

'思思':['广义相对论','弦理论','牛顿力学'],

'严严':['广义相对论','弦理论'],

'赫敏':['广义相对论','弦理论','量子场论'],

}

name = input('你想查询哪个科目?')

for i in subject:

actors = subject[i]

#取出字典的值

if name in actors:

print(i+'学习了'+name)

输出结果

你想查询哪个科目?广义相对论

思思学习了广义相对论

严严学习了广义相对论

赫敏学习了广义相对论

试错

用try和except可以进行试错检验

while True:

try:

age = int(input('你今年几岁了?'))

break

except ValueError:

print('你输入的不是数字!')

if age < 18:

print('小朋友你好呀')

输出结果

你今年几岁了?1

小朋友你好呀

如何避免被除数是0的错误

num = [1,2,0,3]

for x in num:

try:

#尝试执行下列代码

print (6/x)

#使用6除以num中的元素,并打印

except ZeroDivisionError:

#除非发生ZeroDivisionError报错,执行下列代码:

print('0是不能做除数的!')

#打印“0是不能做除数的!”

输出结果

6.0

3.0

0是不能做除数的!

2.0

更多试错检验在这里可以找到

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值