01-位运算符的练习
color = 0xF0384E
red = color >> 16
green = color >> 8 & 0xFF
blue = color & 0xFF
print(hex(red), hex(green), hex(blue))
02-运算符的优先级
print(10 + 2 * 3 ** 2) # 28
# 逻辑运算的优先级: not > and > or
print(True or False and True) # True and True ==> True
print(False or not False) # False or True ==> True
print(True or True and False) # True or True ==> True
# 强烈建议:在开发中,使用括号来说明运算符的优先级
print(True or True and False) # True
print(True or (True and False))
# 逻辑运算符规则:
# 逻辑与运算:
# 只要有一个运算数是False,结果就是False;只有所有的运算数都是True,结果才是True
# 短路:只要遇到了False,就停止,不再继续执行了
# 取值:取第一个为False,如果所有的运算数都是True,取最后一个运算数
# 逻辑或运算:
# 只要有一个运算数是True,结果就是True;只有所有的运算数都是False,结果才是False
# 短路:只要遇到了True,就停止,不再继续执行了
# 取值:取第一个为True的值,如果所有的运算数都是False,取最后一个运算数
a = 23
print(type(a))
# 逻辑运算的优先级: not > and > or
03-条件判断语句
# python里的条件判断语句 if / if else / if elif elif else
# python里不支持 switch...case 条件语句
# if 条件判断:
# 条件成立时,执行的代码
# age = int(input('请输入你的年龄:'))
# if age < 18: # 字符串和数字做比较运算规则: == 结果是False,!= 结果是True,其他比较运算会报错
# print('未满十八岁,禁止入内')
# if...else语句
# if 判断条件:
# 条件成立时执行的代码
# else:
# 条件不成立时执行的代码
age = int(input('请输入你的年龄:'))
if age < 18:
print('赌博是不好的哟,好好学习,天天向上')
else:
# if的条件不满足时执行的代码
print('澳门首家线上赌场上线了!')
# python里的条件判断语句 if / if else / if elif elif else
04-if语句的练习
# 写出判断一个数是否能同时被4和6整除的条件语句, 并且打印对应的结果
# num = int(input('请输入一个数字:'))
# if num % 4 == 0 and num % 6 == 0:
# print('能够被4和6同时整除')
# 写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的条件语句, 并且打印对应的结果
# if (num % 3 == 0 or num % 7 == 0) and (num % 21 != 0):
# print('能够被3或者7整除,但是不能同时被3和7整除')
# 输入年,写代码判断输入的年是否是闰年,并且打印对应的结果。
# (是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
# year = int(input('请输入一个年份:'))
# if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
# print(year, '是一个闰年')
# 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来
# 3718 ==> 1小时3600 118秒: 1分钟 58秒
x = 3718
hour = x // 3600
minute = x % 3600 // 60
second = x % 60
print(hour, '小时', minute, '分钟', second, '秒')
# 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
# 公式: `体重(kg)/身高(m)的平方值` 在18.5 ~ 24.9之间属于正常。
weight = float(input('请输入您的体重(kg)'))
height = float(input('请输入您的身高(m)'))
BMI = weight / height ** 2
if 18.5 < BMI < 24.9:
print('您的身高体重正常')
05-if...elif...elif... ... else...语句的使用
score = float(input('请输入您的成绩:'))
# 多个 if 语句,语句和语句之间,不存在关联
# if 60 > score >= 0:
# print('你个垃圾')
#
# if 80 > score >= 60:
# print('一般般')
#
# if 90 > score >= 80:
# print('还不错')
#
# if 100 >= score >= 90:
# print("好棒棒哟")
# 一个 if..elif 语句
if 60 > score >= 0:
print('你个垃圾')
elif 80 > score >= 60:
print('一般般')
elif 90 > score >= 80:
print('还不错')
elif 100 >= score >= 90:
print("好棒棒哟")
else:
print('你肮脏,你作弊!')
06-if语句的嵌套
# if 语句里再嵌套if
# python语言里,使用强制缩进来表示语句之间的结构
ticket = input('是否买票了?Y/N')
if ticket == 'Y':
print('买票了,可以进站')
safe = input('安检是否通过?Y/N')
if safe == 'Y':
print('安检通过了,进候车室')
else:
print('进站了,但是安检未通过')
else:
print('没有买票,滚蛋')
if嵌套 就是if里面用if
07-pass关键字的使用
# pass 关键字在Python里没有意义,只是单纯的用来占位,保证语句的完整性
age = int(input('请输入您的年龄:'))
if age > 18:
pass # 使用pass进行占位,没有意义,单纯为了保证语句的完整性,使程序不报错
print('hello')
# pass 关键字在Python里没有意义,只是单纯的用来占位,保证语句的完整性
08- 猜拳游戏
import random
# input 是用来接收用户输入的数据
# 电脑应该随机的出一个数字 [0,2]
# 需要使用到随机数模块 random
# random.randint(a,b) ==> 能够生成 [a,b] 的随机整数
computer = random.randint(0, 2)
print('电脑出的是', computer)
# =等号在计算机编程里,赋值运算符,作用是将等号右边的值赋值给等号的左边
# 如果想要判断两个变量是否相等,不能使用 赋值运算符,而要使用 == 比较运算符
player = int(input('请输入 (0)剪刀 (1)石头 (2) 布:')) # 1 == 1 结果是False
print('用户输入的是', player)
if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
print('恭喜你,你赢了!!!')
elif player == computer:
print('平局')
else:
print('你个垃圾,输了吧!')
09-if语句的注意点
# 1. 区间判断
score = float(input('请输入你的成绩:'))
# 在某些语言里,判断区间不能连写
# 在有些语言里,需要使用逻辑运算符来连接 score >= 0 and score < 60
# Python里可以使用连续的区间判断
if 60 > score >= 0:
print('你个垃圾')
# 2. 隐式类型转换
if 4: # if 后面需要的是一个bool类型的值。如果if后面不是布尔类型,会自动转换成为布尔类型
print('hello world')
# 3. 三元表达式(对if...else语句的简写)
num1 = int(input('请输入一个数字:'))
num2 = int(input('请再输入一个数字:'))
# if num1 > num2:
# x = num1
# else:
# x = num2
x = num1 if num1 > num2 else num2
print('两个数里的较大数是', x)
10-循环语句的基本使用
# 循环就是让一件事情重复做多次
# Python里的循环分为 while 循环和 for 循环
# Python里不支持 do...while 循环
# while循环的基本使用
# while 判断条件:
# 条件成立时执行的代码
x = 0
while x < 10:
print('hello world')
x += 1
# x++ Python里没有自增自减运算符
11-while练习
# 求1~100的所有整数之和
# i = 0
# result = 0 # 定义一个变量用来保存所有数字之和
# while i < 100:
# i += 1
# result += i
# print(result)
# 求1~100所有偶数的和
i = 0
result = 0 # 定义一个变量用来保存所有数字之和
while i < 100:
i += 1
if i % 2 == 0: # 偶数才被加到result
result += i
print(result)
# 求 [35,987]之间所有整数的和
y = 0
j = 34
while j < 987:
j += 1
y += j
# 循环就是让一件事情重复做多次 # Python里的循环分为 while 循环和 for 循环准确知道循环几次用for eg: for i in range(10)
不知道会循环几次用while eg: while i >=100: i = i*2
12-for...in 循环的使用
# python里的for循环指的是for...in循环。和C语言里的for不一样
# for语句格式: for ele in iterable
# range 内置类用来生成指定区间的整数序列(列表)
# 注意: in 的后面必须要是一个可迭代对象!!!
# 目前接触的可迭代对象: 字符串、列表、字典、元组、集合、range
for i in range(1, 11):
print(i)
# for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
# print(x)
for y in 'hello':
print(y)
# for m in 10: # in的后面必须是一个可跌打对象
# print(m)
z = 0 # 定义一个变量,用来保存所有的数字之和
for j in range(1, 101):
z += j
print(z)
13-break和continue关键字的使用
# break和continue在Python里只能用在循环语句里
# break:用来结束整个循环
# continue:用来结束本轮循环,开启下一轮循环
i = 0
while i < 5:
if i == 3:
i += 1
break
print(i)
i += 1
# 不断的询问用户,我爱你,你爱我吗?只要答案不是爱,就一直问,直到答案是爱
# answer = input('我爱你,你爱我吗?')
# while answer != '爱':
# answer = input('我爱你,你爱我吗?')
while True:
answer = input('我爱你,你爱我吗?')
if answer == '爱':
break
# 不断的让用户输入用户名和密码,只要用户名不是zhangsan,密码不是123,就一直问。
# username = input('请输入用户名:')
# password = input('请输入密码:')
#
# while not (username == 'zhangsan' and password == '123'):
# username = input('请输入用户名:')
# password = input('请输入密码:')
while True:
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'zhangsan' and password == '123':
break
# break和continue在Python里只能用在循环语句里 # break:用来结束整个循环 # continue:用来结束本轮循环,开启下一轮循环
14-嵌套打印矩形
# Python里可以使用一层循环直接打印三角形
# i = 0
# while i < 5:
# i += 1
# print(i * '*')
# 总结:外循环用来控制行数;内循环用来控制每一行的列数
# 这一大段代码,是用来打印五行五列星星的
j = 0
while j < 10:
j += 1
# 本段代码是打印五个星星并且换行
i = 0
while i < 8:
i += 1
print("*", end=' ') # 打印一个星星,不换行
print() # 用来换行
15-嵌套打印三角形
# 外循环用来控制行数
# 内循环用来控制列数
j = 0
while j < 9:
j += 1 # j = 1;j=2
i = 0
while i < j:
i += 1
print('*', end=' ')
print()
16-打印九九乘法表
j = 0 while j < 9: j += 1 # j = 3; i = 0 # i=0; while i < j: i += 1 # i=2; print(i, '*', j, '=', (i * j), sep="", end="\t") print()