day2 数据类型,流程控制,循环
Posted qianduoduo123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day2 数据类型,流程控制,循环相关的知识,希望对你有一定的参考价值。
数据类型:
日常生活中,我们常用的数据是有很多类型的,比如数字和字符串,数字的功能是计数和运算,字符串即文字是记录和交换信息,区别很大。
但是计算机使用二进制记录所有信息,无法区分不同数据的区别,所以需要人为的指定。
比如c 和 java等语言,赋值变量时必须明确标识数据类型。但是python是更加高级的语言,解释器会自动识别数据类型,但是有时解释器指定的数据类型不符合你的要求,可以自己进行转换。
基本数据类型分为三类:
数字,字符串,布尔
数字:
python 2.x 版本 分为三类:int整形 long长整形 float浮点数
3.x版本 只有两类 int整形 float浮点数
字符串:
带有引号的字符
‘单引号‘ "双引号":主要是方便句子中有引号的情况。
1 msg = ‘我说:“这里需要单双引号的配合”‘ 2 s =‘多行时需要‘ 3 ‘帮助截断‘ 4 s1 = ‘使用5 截断‘ 6 print(msg) 7 print(s) 8 print(s1)
‘‘‘三引号‘‘‘:方便多行字符串的情况。
字符串的+ , *
+ 加号拼接两个字符串中间没有空格 , 逗号拼接两个字符串中间有空格。
1 s1 = ‘this is‘ 2 s2 = ‘str‘ 3 print(s1,s2) 4 print(s1+s2)
* 字符串*数字,重复几次字符串。
布尔值 :
只有两个值True(1) False (0)用于逻辑判断,计算机用于描述成立与否。
1 a = 3 2 b = 4 3 a<b --->True 4 a>b ---->False
格式化输出:按需求打印出美观的有规则的字符串样式。
%s 占位符,s代表字符串,可以传入任意数据类型。d代表整数,只能传入整数。f代表浮点数只能传入浮点数。
1 name = input(‘name :‘) 2 age = input(‘age :‘) 3 job = input(‘job :‘) 4 hometown = input(‘Hometown :‘) 5 6 msg = ‘‘‘ 7 ---------info of %s------- 8 name : %s 9 age : %s 10 job : %s 11 hometown: %s 12 ---------end--------------- 13 ‘‘‘%(name,name,age,job,hometown) 14 print(msg)
运算符:算术运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
算术运算:+加 -减 *乘 /除 %取余(可以用于区分奇数偶数) **幂 //除取整
比较运算:== > < >= <= != <>(不等于python3 取消)
赋值运算:= += -= *= /= %= **= //=
逻辑运算:and且 or或 not非
流程控制:
单分支 if
双分支 if else
练习:输入姓名性别年龄,判断如果是女生,且年龄小于28,打印我喜欢女生,否则,打印姐弟恋也可以,如果是男生,打印一起来搞基。
1 name = input(‘name : ‘) 2 age = int(input(‘age : ‘)) 3 sex = input(‘sex : ‘) 4 5 if sex == ‘female‘: 6 if age<28: 7 print(‘我喜欢女性‘) 8 else:print(‘姐弟恋也可以‘) 9 10 else:print(‘一起来搞基‘)
多分支 if elif else
练习:猜年龄
1 age = 30 2 while 1: 3 _age = int(input(‘age:‘)) 4 if age > _age: 5 print(‘大了‘) 6 elif age <_age: 7 print(‘小了‘) 8 else: 9 print(‘猜对了‘) 10 break
循环 while:
将相同的代码执行多次,次数可以指定。
死循环:程序一直循环没有结束条件。
while else :程序循环如果中间没断,就可以执行else语句,否则不执行else.目的是检测循环内是否出现问题。
#打印0-100 不打印50 60-80打印平方
1 count = 0 2 while count < 100: 3 4 if count == 50: 5 pass 6 elif count>=60 and count<=80: 7 print(count**2) 8 else:print(count) 9 count += 1
猜数字,猜三次询问是否要继续,输入y继续,否则停止。
1 age = 25 2 count =0 3 while 1: 4 guess_age = int(input(‘请输入数字:‘)) 5 if guess_age > age: 6 print(‘大了‘) 7 elif guess_age < age: 8 print(‘小了‘) 9 else: 10 print(‘猜对了。。‘) 11 break 12 count += 1 13 14 if count % 3 == 0: 15 control = input(‘是否还想继续玩:是y ‘).upper() 16 if control != ‘Y‘: 17 break
作业1:
用户登录,允许输入三次账号密码,对了输出欢迎信息,超过三次不允许登录。
1 user = ‘qianlei‘ 2 password = ‘abc123‘ 3 count = 0 4 while 1: 5 if count < 3: 6 count += 1#先加1再判断,所以当count == 3时还没有判断,下一次循环再进行判断。 7 _user = input(‘输入用户名:‘) 8 _password = input(‘输入密码:‘) 9 if _user == ‘qianlei‘ and _password == ‘abc123‘: 10 print(‘输入正确,欢迎光临‘) 11 break 12 else: 13 print(‘输入错误‘) 14 continue 15 16 else: 17 print(‘输入错超过3次‘) 18 break
作业2:
可以支持多个用户登录(使用列表)
用户三次失败后退出,退出程序后再次启动还是锁定(用户锁定存到文件中。)
1 user = [‘qianlei‘,‘zhangsan‘,‘lisi‘] 2 password = [‘123‘,‘abc‘,‘qwe‘] 3 count = 0 4 f = open(‘lock.txt‘,‘r‘,encoding=‘utf-8‘) 5 while 1: 6 count += 1 7 if count <= 3: 8 _user = input(‘输入账号:‘) 9 _password = input(‘输入密码:‘) 10 if _user in f.read(): 11 print(‘你的账户已经被锁定。‘) 12 break 13 if _user in user: 14 idx = user.index(_user) 15 if _user in user and password[idx] == _password: 16 print(‘输入正确,欢迎光临‘) 17 break 18 else: 19 print(‘输入错误‘) 20 continue 21 else: 22 with open(‘lock.txt‘,‘a‘) as f: 23 f.write(_user) 24 print(‘你的账户以及锁定‘) 25 break
以上是关于day2 数据类型,流程控制,循环的主要内容,如果未能解决你的问题,请参考以下文章