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
View Code

 



循环 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
View Code

 


猜数字,猜三次询问是否要继续,输入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
作业1

 

 

作业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
作业2

 

 
































































以上是关于day2 数据类型,流程控制,循环的主要内容,如果未能解决你的问题,请参考以下文章

流程控制之for循环基本数据类型及其内置方法

Python学习[day2]while循环以及执行流程格式化输出运算符

python 学习 day2

python修炼之路-day2

Java进阶路线

Scala学习(变量和数据类型流程控制)