python课堂2: 数据类型,流程控制,循环

数据类型:
  日常生活中,我们常用的数据是有很多类型的,比如数字和字符串,数字的功能是计数和运算,字符串即文字是记录和交换信息,区别很大。
但是计算机使用二进制记录所有信息,无法区分不同数据的区别,所以需要人为的指定。
比如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

 













猜你喜欢

转载自www.cnblogs.com/qianduoduo123/p/9210488.html
今日推荐