一、基本运算符
链式赋值
a=b=c=2
print(id(a),id(b),id(c))
交叉赋值
m=1
n=2
temp=m
m=n
n=temp
print(m,n)
m,n=n,m
print(m,n)
解压
l=[1,2,3,4]
a,b,c,d=l
print(a)
print(b)
print(c)
print(d)
a=l[0]
_=l[1]
_=l[2]
d=l[3]
a,_,_,d=l
print(a,d)
a,*_,d=l
print(a)
print(d)
二、判断语句if else
1、如果:女人的年龄>30岁,那么:叫阿姨
age_of_girl=31
if age_of_girl > 30:
print('阿姨好')
2、如果:女人的年龄>30岁,那么:叫阿姨,否则:叫×××
age_of_girl=18
if age_of_girl > 30:
print('阿姨好')
else:
print('×××好')
3、如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:看不上
age_of_girl=18
height=171
weight=99
is_pretty=True
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
print('表白...')else:
print('看不上')
4、if嵌套,在表白的基础上继续:
#如果表白成功,那么变白成功 否则:打印表白失败
age_of_girl=18
height=171
weight=99
is_pretty=True
seccess=True
if age_of_girl >= 18 and age_of_girl < 22 and height >170 and weight < 100 and is_pretty == True:
print ('去表白')
if seccess:
print ('表白成功')
else:
print ('表白失败')
else:
print ('看不上')
5、如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
grade = input('pleade input your grade >>: ')
if grade >= 90:
print('优秀')
elif grade >= 80:
print('良好')
elif grade >= 70:
print ('普通')
else:
print ('很差')
6、验证登录
name = raw_input('please input your name:')
password = raw_input('please input your password:')
if name == 'test':
if password == 'test':
print('login success!')
else:
print('password is error!')
else:
print('name is error!')
PS:此处之前用的是input来做交互式输入,结果一直报错,请注意input和raw_input这两者的区别!!!另外如果变量是与字符串对比一定要记得给字符传加上引号!!!
7、根据用户输入内容打印其权限
'''
root --> 超级管理员
test --> 普通管理员
test1,test2 --> 业务主管
其他 --> 普通用户
'''
name = raw_input('please input your name:')
if name == 'root':
print('超级管理员')
elif name == 'test':
print('普通管理员')
elif name == 'test1' or name == 'test2':
print('业务主管')
else:
print('普通用户')
8、根据星期几决定做什么事情
'''
如果:今天是Monday,那么:上班
如果:今天是Tuesday,那么:上班
如果:今天是Wednesday,那么:上班
如果:今天是Thursday,那么:上班
如果:今天是Friday,那么:上班
如果:今天是Monday,那么:出去浪
如果:今天是Sunday,那么:出去浪
'''
today = raw_input('please input today is : ')
if today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' or today == 'Thursday' or today == 'Friday':
print('上班')
elif today == 'Saturday' or today == 'Sunday':
print ('出去浪')
else:
print('请输入正确的星期几!!')
三、while循环
1、打印数字
1)打印0-10
number = 0
while number <= 10:
print (number)
number += 1
2)打印0-10之间的偶数
number = 0
while number <= 10:
if number%2 == 0:
print (number)
number += 1
3)打印0-10之间的奇数
number = 0
while number <= 10:
if number%2 != 0:
print (number)
number += 1
2、循环嵌套与tag
练习,要求如下:
1) 循环验证用户输入的用户名与密码
2 )认证通过后,运行用户重复执行命令
3 )当用户输入命令为quit时,则退出整个程序
第一种办法
name = 'test'
passport = 'test'
while True:
input_name = raw_input('Please input your name: ')
input_password = raw_input('Please input your password: ')
if input_name == name and input_password == passport:
print('login success!!!')
while True:
input_cmd = raw_input('input your cmd: ')
if not input_cmd:
continue
if input_cmd != 'quit':
print('run <%s>' %input_cmd)
continue
else:
break
else:
print('your name or passport is error: ')
continue
break
第二种办法
name = 'test'
passport = 'test'
tag = True
while tag:
input_name = raw_input('请输入你的名字:')
input_passport = raw_input('请输入你的密码:')
if input_name == name and input_passport == passport:
print('恭喜你 登录成功!!!')
while tag:
cmd = raw_input('请输入你的命令:')
if not cmd:
continue
if cmd == 'quit':
tag = False
else:
print('运行 <%s>' %cmd)
continue
else:
print('账户名或者密码有误!请重新尝试'
以上程序有个不好的地方是账户密码错误的输入次数是无限次!!!
3、while循环练习题
1 使用while循环输出1 2 3 4 5 6 8 9 10 (参考之前的练习)
2 求1-100的所有数的和
number = 1
sum = 0
while number <= 100:
sum += number
number += 1
print(sum)
3 输出 1-100 内的所有奇数
number = 1
sum = 0
while number <= 100:
if number%2 == 1:
sum += number
number += 1
print(sum)
4 输出 1-100 内的所有偶数
number = 1
sum = 0
while number <= 100:
if number%2 == 0:
sum += number
number += 1
print(sum)
5 求1-2+3-4+5 ... 99的所有数的和
number = 1
sum = 0
while number < 100:
if number%2 == 1:
sum += number
else:
sum -= number
number += 1
print(sum)
6 用户登陆(三次机会重试)
number = 0
name = 'test'
passport = 'test'
while number < 3:
input_name =raw_input('请输入你的账号:')
input_passport =raw_input('请输入你的密码:')
if input_name == name and input_passport == passport:
print('恭喜你!登录成功')
break
else:
print('账号或者密码有误!')
number += 1
7 猜年龄游戏
允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
count = 0
age = 18
while count < 3:
input_age = input('请输入你猜的年龄:')
if input_age == age:
print('哇塞!猜对啦。。。')
break
print('猜错了,再试试')
count += 1
8 猜年龄游戏升级版
允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如果猜对了,就直接退出
count = 0
age = 18
while True:
if count == 3:
Ans = raw_input('还想继续续玩吗?输入Y或者N:')
if Ans == 'Y' or Ans == 'y':
count = 0
else:
break
input_age = input('请输入你猜的年龄:')
if input_age == age:
print('哇塞!猜对啦。。。')
break
print('猜错了,再试试')
count += 1
四、 练习题
1、简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
编译型(C、C++、Pascal/Object Pascal(Delphi)):相当于百度翻译,对程序翻译一次,拿着该翻译的结果去执行。
优点:执行效率高
缺点:开发效率低
解释型(Python、JavaScript、Perl、Ruby):相当于同声传译,可以一边解释一边执行。
优点:开发效率高
缺点:执行效率低
2、执行 Python 脚本的两种方式是什么
使用python解释器(python test.py)或在系统下赋值成777,执行(./test.py)
3、Pyhton 单行注释和多行注释分别用什么?
单行注释用#,多行注释可以用三对双引号""" """
4、布尔值分别有什么?
True False
5、声明变量注意事项有那些?
1)变量名只能是 字母、数字或下划线的任意组合
2)变量名的第一个字符不能是数字
3)关键字不能声明为变量名
6、如何查看变量在内存中的地址?
id(变量)
7、写代码
1 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
name = raw_input('please input your name:')
password = raw_input('please input your password:')
if name == 'seven' and password == '123':
print('login success!')
else:
print('login faile!')
2 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
count = 0
while count < 3:
name = raw_input('please input your name:')
password = raw_input('please input your password:')
if name == 'seven' and password == '123':
print('login success!')
break
else:
count += 1
3 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
count = 0
while count < 3:
name = raw_input('please input your name:')
password = raw_input('please input your password:')
if ((name == 'seven' or name == 'alex') and password == '123'):
print('login success!')
break
else:
count += 1
8、写代码
a. 使用while循环实现输出2-3+4-5+6...+100 的和
number = 2
sum = 0
while number < 100:
if number%2 == 1:
sum += number
else:
sum -= number
number += 1
print(sum)
b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
number = 0
while number < 12:
number += 1
if number == 6 or number == 10:
continue
else:
print(number)
c.使用 while 循环实现输出 1-100 内的所有奇数
number = 1
sum = 0
while number <= 100:
if number%2 == 1:
sum += number
number += 1
print(sum)
d. 使用 while 循环实现输出 1-100 内的所有偶数
number = 1
sum = 0
while number <= 100:
if number%2 == 0:
sum += number
number += 1
print(sum)
9、现有如下两个变量,请简述 n1 和 n2 是什么关系?
n1 = 123456
n2 = n1
n1和n2指向同一块内存地址,数值是123456