首页 > 代码库 > python基础知识--条件判断和循环
python基础知识--条件判断和循环
一.输入输出
python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下:
1 name=input(‘Please enter your name:‘) #把接收到的值赋给name变量 2 print(name)#输出接收到的输入
input在接收输入的时候,是可以看到你输入的值的,如果是输入密码这样的呢,不想让别人看到你的密码,怎么办呢,就需要用到一个标准库,getpass,什么是标准库呢,就是不需要你再去安装,装完python就有的库,就是标准库,getpass就是一个标准库,导入进来之后,直接使用getpass.getpass方法就可以在输入的时候,不回显了,代码如下:
1 import getpass #导入getpass模块 2 password = getpass.getpass(‘Please enter your password:‘) #接收输入的密码 3 print(password)
二.条件判断
python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样,否则就怎么怎么这样.
if判断时候,都是判断的真或者假,也就是True和False.格式如下:
1 if 明天下雨:
2 那么明天带伞
3 else:
4 明天不带伞
python中是以缩进来表示代码块的,这样看起来代码很有条理,比如说上面的例子,如果明天下雨,那么明天才会带伞,明天带伞就相当于if的儿子,所以也可以认为有缩进的都是有父子关系的,写个实际点的例子,如下:
1 score = int(input(‘请输入你的分数:‘)) #接收输入,因为input接收的是一个字符串,所以需要用int函数强制类型转换成整数类型
2 if score==100: #如果成绩等于100分的话
3 print(‘小天才,你是满分‘)
4 elif score >=90 and score < 100: #如果成绩大于等于90分小于100分的话
5 print(‘兄弟,你的分数不低啊,不错‘)
6 elif score > 60 and score <90:#如果成绩大于60分小于90分的话
7 print(‘兄弟,这次考试马马虎虎啊‘)
8 else: #如果分数小于60分的话
9 print(‘兄弟,你在搞什么,该努力了‘)
三.循环
循环是干嘛的呢,说白了就是为你重复的去做事情,比如说你想建1000个文件夹,一个个建累死你, 这样就可以写段代码,使用循环给你创建1000个就省事了,python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组,值得一提的是,别的语言中,for循环的时候需要先定义一个计数器变量,然后从0开始加,直到这个计数器达到你预设的一个值,然后停止循环,取数据的时候也是通过数组的下标从0开始取,这样就很麻烦,python中for循环很简单,循环的是一个可迭代对象中的元素,你这个对象中有多少个元素,就循环多少次,比如说一个数组list,list = [‘a‘,‘b‘,‘c‘],在别的语言中要想获取到list中所有的值,必须得使用循环取下标这种方式去取数据,就得这样写list[x],list[x],list[x]这样,在Python里面就不需要直接循环就取的是这个list里面的值,循环里面还有两个比较重要的关键字,continue和break,continue的意思是,跳出本次循环,继续进行下一次循环,break的意思是停止循环,也就是说在continue和break下面的代码都是不执行的,格式如下:
for循环:
1 #python里面循环有两种 2 #while 3 #for 4 # count = 8 #计数器 5 # while count<10: 6 # print(‘侯宁讲笑话!‘) 7 # count=count+1 8 # #循环体 9 # else: 10 # print(‘侯宁讲完了。‘)
break,退出循环,break只能在循环里面用,如果在循环里面遇到break,那么立即退出循环
1 # count = 0 # 计数器 2 # while count < 10: 3 # print(‘侯宁讲笑话!‘) 4 # count = count + 1 5 # if count==5: 6 # break
continue的用法,continue的作用是退出本次循环
1 # count = 0 # 计数器 2 # while count < 10: 3 # count = count + 1 4 # if count==5: 5 # continue 6 # print(‘侯宁讲%d笑话!‘%count)
for循环,里面的break
1 # for i in range(10): 2 # print(‘侯宁讲笑话,%s‘%i) 3 # if i==6: 4 # break 5 #for continue用法 6 # for i in range(10): 7 # if i==7: 8 # continue 9 # print(‘侯宁讲笑话,%s‘%i) 10 11 # for count in range(1,11):#顾头不顾尾 12 # print(count) 13 # else: 14 # print(‘over。。。‘) 15 # #for循环对应的else,只有当for正常循环结束才会执行
四.格式化输出
什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:
1 # name = input(‘请输入你的名字:‘) 2 # sex = input(‘请输入你的性别:‘) 3 # print(‘欢迎你‘+name)#第一种用+号连接 4 # print(‘欢迎你‘,name)#第二种用,号连接 5 # print(‘欢迎你%s‘%name)#一个变量的时候使用占位符 6 # print(‘欢迎你%s,你的性别是%s‘%(name,sex))#多个变量的时候使用占位符.这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号
7 # %d 代表后面的变量是整数
8 # %f 代表后面跟的小数 %.2f 保留几位小数,会四舍五入
9 age = int(input(‘请输入一个整数:‘))
10 grade = float(input("请输入你的成绩:"))
11 # print(‘输入的整数是%d,输入的成绩是%.2f ‘%(age,grade))
12 # print(‘你的成绩是%.2f‘%grade)
13 print(‘你的年龄是{your_age},你的成绩是‘
14 ‘{your_grade}‘.format(your_age=age,your_grade=grade))
15 #如果参数比较少的情况下用占位符比较简单 16 #如果参数比较多的情况下,用.format这种方式格式化更为直
五.练习
1 #随机数模块 2 sub_str=random.randint(1,101) #生成1-100的一个随机数 3 while 1:#while的意思就是,让它一直为真,也就是死循环,下面通过break来停止循环 4 num=int(input(‘plase enter a num , 1-100:‘)) 5 if num>100 or num<1: #判断输入的数字是否在1-100之间 6 print(‘num error,plase enter 1-100.‘) 7 continue 8 else: 9 if num==sub_str: #如果猜对了,结束循环 10 print(‘You win. game over,the num is %d‘%sub_str)#不懂这个的请看下面的第十四,字符串格式化输出 11 break 12 elif num < sub_str:#如果猜小了,就跳出本次循环,提示猜小了 13 print(‘The num is small,plase enter other num.‘) 14 continue 15 else:#就三种情况,大、小等于,前面两种是等于和小雨,那么else就是大于了,如果猜大了,就跳出本次循环,提示猜大了 16 print(‘The num is too big,plase enter other num.‘) 17 continue
python基础知识--条件判断和循环