python基础之控制流语句

在这里插入图片描述
经过前期的基础积累,现在我们开始编写一些小脚本,来学习python的一些流程语句。和python编程语句的格式

第一题猜数字:接受用户的输入,猜测一个随机1-10数字,用户有三次机会,猜对了就输出猜对了,猜错了就显示错误,并每次提示还有几次机会

import random #导入伪随机数模块,产生随机数
secreat_num=random.randint(0,10)
#产生一个0-10的随机数字,包括0和10
n=3
#计数,一共三次机会
for i in range(1,n+1):
#range(n)相当于range(1,4),会依次产生1,2,3,for为主循环语句
    num=input('请输入猜测的数字:')
    #接收用户输入,在for循环语句之内,执行3次
    print('第{}次机会共3次机会'.format(i))
    #字符串格式化方法
    if num.isdecimal():
    #永远不要相信用户的输入,所以先检查用户是否为数字,如果是则执行if语句块
        if num==str(secreat_num):
        #由于random产生的随机数是整形,而input返回的的字符串型,需要把类型变成一样才能比较
            print('真聪明猜对拉')
            break
            #猜对了就跳出循环游戏结束
        else:
        #如果猜错了就走这条语句
            print('不对不对再来吧')
    else:
    #如果用户输入的不是数字则走这条语句
        print('输入有误请重新输入')

请仔细看上面小程序的注释,理解每一个判断流程,和语句块的缩进,包括每一个流程后面的冒号,这是新手经常犯的错误。

下面我们把游戏升级一下:
现在我们想给这道问题,增加一些新的提示,比如用户猜的数字比随机数字大我们要告诉用户猜大了,如果小了就提示小了

secreat_num=random.randint(0,10)
#产生一个0-10的随机数字,包括0和10
n=3
#计数,一共三次机会
for i in range(1,n+1):
#range(n)相当于range(1,4),会依次产生1,2,3,for为主循环语句
    num=input('请输入猜测的数字:')
    #接受用户输入,在for循环语句之内,执行3次
    print('第{}次机会共3次机会'.format(i))
    #字符串格式化方法
    if num.isdecimal():
    #永远不要相信用户的输入,所以先检查用户是否为数字,如果是则执行if语句块
        if num==str(secreat_num):
        #由于random产生的随机数是整形,而input返回的的字符串型,需要把类型变成一样才能比较
            print('真聪明猜对拉')
            break
        elif int(num) > secreat_num:
            print('猜的数字有点大')
        else:
            print('猜的数字有点小')
    else:
    #如果用户输入的不是数字则走这条语句
        print('输入有误请重新输入')

大家仔细看,这两次有什么不同,很明显,第一次用的是if。。。。else。。流程语句,第二次用的是if。。。elif。。elif 。。。。else语句。其实第二个我们也可以用if。。。if。。else。。,但是他们还是有区别的,if。。if。。else。。,无论上一个if判断的是真还是假,都会执行下一个if判断。而if。。elif。。elif。。else。。只会执行其中一种情况,而不走其他的elif。所以如果判断的情况比较多,建议大家用if。。elif。。elif。。else。。

下面来说,for in 循环语句和while,这两个语句也是我们很经常会用到的,for…in…更适合迭代元素,而while很明显适合穷举。如何打破循环break或者return

for i in range(10):
	if i==5:#循环到5就会终止
		print(i)
		break

#对于while来讲,打破循环是很重要的,否则会陷入无限的循环,很容易填满你的内存。
n=0
while True:
	n +=1
	if n==5:
		print(n)
		break
 

明天我们将用我们的基础知识,来做一个好玩的小程序,验证密码。
在这里插入图片描述最后,请叫我雷锋。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~白+黑

真乃人中龙凤,必成大器,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值