python基础知识--条件判断和循环

时间:2022-03-16 12:08:11

一.输入输出

  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循环:

 #python里面循环有两种
#while
#for
# count = 8 #计数器
# while count<10:
# print('侯宁讲笑话!')
# count=count+1
# #循环体
# else:
# print('侯宁讲完了。')

break,退出循环,break只能在循环里面用,如果在循环里面遇到break,那么立即退出循环

 # count = 0  # 计数器
# while count < 10:
# print('侯宁讲笑话!')
# count = count + 1
# if count==5:
# break

continue的用法,continue的作用是退出本次循环

 # count = 0  # 计数器
# while count < 10:
# count = count + 1
# if count==5:
# continue
# print('侯宁讲%d笑话!'%count)

for循环,里面的break

 # for i in range(10):
# print('侯宁讲笑话,%s'%i)
# if i==6:
# break
#for continue用法
# for i in range(10):
# if i==7:
# continue
# print('侯宁讲笑话,%s'%i) # for count in range(1,11):#顾头不顾尾
# print(count)
# else:
# print('over。。。')
# #for循环对应的else,只有当for正常循环结束才会执行

四.格式化输出

  什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

 # name = input('请输入你的名字:')
# sex = input('请输入你的性别:')
# print('欢迎你'+name)#第一种用+号连接
# print('欢迎你',name)#第二种用,号连接
# print('欢迎你%s'%name)#一个变量的时候使用占位符
# print('欢迎你%s,你的性别是%s'%(name,sex))#多个变量的时候使用占位符.这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号
  # %d 代表后面的变量是整数  
8 # %f 代表后面跟的小数 %.2f 保留几位小数,会四舍五入
9 age = int(input('请输入一个整数:'))
grade = float(input("请输入你的成绩:"))
# print('输入的整数是%d,输入的成绩是%.2f '%(age,grade))
# print('你的成绩是%.2f'%grade)
print('你的年龄是{your_age},你的成绩是'
'{your_grade}'.format(your_age=age,your_grade=grade))
#如果参数比较少的情况下用占位符比较简单 #如果参数比较多的情况下,用.format这种方式格式化更为直

五.练习

 #随机数模块
sub_str=random.randint(1,101) #生成1-100的一个随机数
while 1:#while的意思就是,让它一直为真,也就是死循环,下面通过break来停止循环
num=int(input('plase enter a num , 1-100:'))
if num>100 or num<1: #判断输入的数字是否在1-100之间
print('num error,plase enter 1-100.')
continue
else:
if num==sub_str: #如果猜对了,结束循环
print('You win. game over,the num is %d'%sub_str)#不懂这个的请看下面的第十四,字符串格式化输出
break
elif num < sub_str:#如果猜小了,就跳出本次循环,提示猜小了
print('The num is small,plase enter other num.')
continue
else:#就三种情况,大、小等于,前面两种是等于和小雨,那么else就是大于了,如果猜大了,就跳出本次循环,提示猜大了
print('The num is too big,plase enter other num.')
continue