回顾
# 解释性语言 :写好的代码,交给解释器(cpython),就可以运行起来
# IDE:集成开发工具(pycharm、sublime)#pycharm比较大,占内存,sublime轻量级
# 基本数据类型
# bool值 : True真 False假 #0假 1真
# int 整数 : +-*/ // % (算术运算) > < >= <= ==(比较运算)
# % 取余
# num%2 == 0 偶数
# num%2 == 1 奇数
# 分页 #程序分页
# float 小数 算术运算 比较运算
# str字符串
# 要显示出来给人看的
# print input('输入的提示 :')
# 'hello' "hello" 显示单行
# '''hello''' """hello""" 显示多行
# 数据类型之间的转换
# num = 5
# s = str(num) # '5'
# s2 = '5'
# n2 = int(s2)
# s3 = '5.4'
# f3 = float(s3)
# 想把一个变量转换成某一个类型
# 新的类型的变量 = 类型名(变量)
# 变量
# 常量 - 符合变量的命名规则,全大写
# 注释
# 井号
# 三引号
# 输入输出
# print() 打印给用户看、输出
# input() 输入给计算机去操作
# 运算符
# +-*/ // % (算术运算)
# > < >= <= ==(比较运算)
# 条件判断
# if 条件1:
# 满足条件1要执行的代码
# elif 条件2:
# 满足条件2要执行的代码
# elif 条件3:
# 满足条件3要执行的代码
# ...
# else:
# 上面所有的条件都不满足要执行的代码
# while循环
# while 条件:
# 要循环的代码(无数次执行)
# 循环不明白
# n = 0
# while n<5: # 结束条件 条件不满足的时候就结束了
# print(n)
# n = n+1
# 一般情况下 永远是某一个语法自带一个:
# 这个:之后总是要缩进
# 你希望写在这个语法范围内的代码都要缩进
# 不会写while False,因为不会False进循环
# n = 0
# while n <5:
# if n % 2 == 0:
# print('偶数 : ', n)
# else:
# print('奇数 : ', n)
# n = n+1
习题讲解
# 双色球
# 先让用户依次选择6个红球(红球的选择范围是1-32)
n = 0
s1 = ''
while n < 6:
num1 = input('请输入红球的号码 :')
num = int(num1)
if num <= 32 and num >= 1:
print('您选择了红球',num1) # '23' ,'24'
n = n + 1 #输入有效数字n才加1
if n < 6: #判断为了什么时候不加逗号
s1 = s1 + num1 +',' # '23,'+'24'+',' = '23,24,25,26,27,'
else:
s1 = s1 + num1 # '23,24,25,26,27,'+'28'
else:
print('请选择1-32之间的数字')
m = 0
s2 = ''
while m < 2: #必须要循环,因为不知道用户输入的多少次才是有效数字
num2 = input('请输入蓝球的号码 :')
num = int(num2)
if num <= 16 and num >= 1:
print('您选择了蓝球', num2)
m = m + 1
if m<2:
s2 = s2 + num2 + ',' # 除最后一个数字以外的拼接
else:
s2 = s2 + num2 # 最后一个数字的拼接
else:
print('请选择1-16之间的数字')
print('您选择的红球有 :',s1)
print('您选择的蓝球有 :',s2)
拾遗
pass语句
if 1==2:
pass==... # 什么也不做,只是占个地方,表示我是明白python的语法规则的
n = 0
while n<6:
pass
格式化输出
# %s #占位符,用的最广
# '其他内容%s其他%s内容'%(变量,变量2)
# 格式化输出
# name = input('name :')
# traf = input('traffic :')
# print('%s昨天开着%s撞树上了'%(name,traf))
# print('昨天',name,'开着',traf,'撞树上') #输出中间有空格
# username = input('username :')
# print('welcome,%s'%username)
# num1 = input('请输入一个红球 :') # 20
# num2 = input('请输入一个蓝球 :') # 30
# print('红球:%s,蓝球:%s'%(num1,num2)) #两个以上元素需要加上括号
# print('数字:%s,%s'%('30',20))
# print('数字:%s'%'20')
# print('数字:%s'%20.20) #会被转为字符串
# print('数字:%d'%20) # digit
# print('数字:%d'%'20') # digit 会报错
运算符
# 算数运算符 + - * / % //
# 比较运算符 > < >= <= == !=
# 赋值运算符(新)
# =
# +=
# -=
# *=
# /=
# %=
# 逻辑运算符(新)
# and 与
# or 或
# not 非
# 优先级 括号>not>and>or
# 身份运算符(新) :判断的是两个变量的内存地址
# is
# is not
# 如果两个变量的内存地址相等,值一定相等
# print('='*20) #字符串只有这个用乘法比较多
# print('-'*20)
# print('*'*20)
# print('hello,'+'world') #字符串相加
# s = 'hello,'+'world' #字符串已经相加了,但没打印
# print(s) #打印结果
# a1 = input('红球1 :')
# a2 = input('红球2 :')
# print(a1 == a2) #判断返回True/False
# print(a1 != a2)
# 赋值运算 =的优先级最低
# a = 1+2-3*4/5 #运算完再赋值给a
# 复合运算
# a = 0
# a += 1 # a = a+1
# a -= 1 # a = a-1
# 练习题:
# a = 1
# b = 2
# a += b # a = a+b = 1+2 = 3
# b += a # b = b+a = 2+3 = 5
# print(a,b) # 3,5
# a = 10
# b = 6
# a %= b #a = a%b = 4
# print(a>b)
# print(a<b)
# print(a,b)
# 逻辑运算符
# and 表示并且
# True and True == True
# True and False == False
# or 表示或者
# True or True = True
# True or False = True
# False or True = True
# False or False = False
# not 表示相反
# not True == False
# not False == True
# a = 10
# b = 5
# a<b and b>3 # False and True = False
# a<b or b>3 # False or True = True
# not a<b # not False = True
# not a<b or a<b and b>3
# 括号的优先级最高 #优先等级
# not
# and
# or
# a = 10
# b = 5
# print(not a<b or a<b and b>3)
# not False or False and True
# True or False and True
# True or False
# True
# 面试题可能会遇到
# print(1 or 5) # 1
# print(0 or 5) # 5
# a or b # if a is True 结果是a 否则结果是b
# print(1 and 5) # 5
# print(0 and 5) # 0
# and和or的结果刚好相反
# print(3>4 and 5<7 or 8 and not False) #True
# 身份运算符
a = 1
b = 1
print(a==b) #True
print(id(a))
print(id(b))
print(a is b) #a和b地址是否相同
print(a is not b)