python 基本数字类型
python各系统安装方式
变量
描述一切可变化的值
#变量组成的三个部分
name='jin'
变量名 name 赋值符号 ‘=’ 值(values)‘jin’
#变量的三个特性:
id type values
#使用实例:
print(id(name))
print(type(name))
print(name)
数据类型
字符串类型 str 用来表示名字 爱好 描述性的东西用str字符串类型表示
数字类型int薪资 年龄 等数字用int表示
浮点型float 身高 体重 坐标 等精确数字需要 浮点型去表示
#实例:
x=‘jin’
print(type(x)) #打印出x是什么类型 str
x=8
print(type(x)) #x 为int
#注意字符串性质的 str数字 转换成 int 类型例:
x=‘666’ #此时x 为str类型
int(x) #此时x 为int类型 值为666 而非‘666’
数据类型
列表[]
类型为list
列表用 , 分割开多个值 值可以是任意类型
作用:用来存储多个值 注意:当列表中只存有一个值的情况下 如 name=['liujin'] 记得加‘,’ 否则会按照字符串的有序排列进行取值
names=['liujin','mahuateng','mayun']
本质为# name=list(['liujin','mahuateng','mayun'])-------------------------------------------------------------------------------names[0] 列表索引取值
列表套列表
user_info['liujin',18,['read','music','play']]
#取值 爱好的第三个 user_info[2][2]
字典 {}类型 dict在字典中存放的是键值对 每一个键值对的组成是key:value
实例:
user_info={'name':'liujin','age':18,'hobbies':['readbook','play']}
print(user_info) #查看字典
print(user_info['name']) #查看key name
print(user_info['hobbies'][0])#查看 hobbies 第一个值
#key 必须为字符串 value 可以为任何值
列表套字典练习:
#取出第二个学生的第2个爱好
students=[
{'name':'mayun','age':38,'hobbies':['play','sleep']},
{'name':'liujin','age':18,'hobbies':['read','sleep']},
{'name':'wangjianlin','age':58,'hobbies':['music','read','sleep']},
]
print(students[1]['hobbies'][1])
布尔类型 True False用途:判断
#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为True
liujin=18liujin>10#True
liujin<10#False
猜年龄小程序
liujin=18
while True:
age=input('请输入年龄')
age=int(age)
if age < liujin:
print ('猜小了')
if age > liujin:
print('猜大了')
if age == liujin:
print('猜对了')
break
可变类型和不可变类型定义:
id 不变的情况下 值变为可变类型
id 变直变 为不可变类型
可变
可变类型有:列表 字典
不可变
不可变类型:元组 集合
格式化输出 %s format
name = input(‘名字>>:’)
age= input ('年龄>>:')print('my name is %s ,my age is %s' %(name,age))#%s 占位符 后续需要穿进去一个值
#%d 只能接受数字类型
练习:格式化打印
name =input('请输入你的名字').strip()
age=input("请输入你的年龄").strip()print("""-------------- user_info-------------
name :%s
age :%s"""%(name,age))
format 使用方法
#顺序制定
info='my name is {},age is {}'.format('liujin',18)print(info)#索引指定
info='my name is {1},age is {0}'.format('liujin',18) #my name is 18,age is liujin
print(info)#指名道姓
info='my name is {x},age is {y}'.format(x='liujin',y=18)print(info)
基本运算符
假设 a=10 b=20
比较运算
假设 a=10 b=20
赋值运算
a=10 b=20
增量赋值 :
age=18错误示范:print(age+1) #19
print(age) #18
#加完之后age 的值并没有变!!!
age=age+1
print(age) #19#相当于把age重新赋值
简写:
age+=1
print(age)#19
逻辑运算符
print(True or False andFalse)#True#从左到右运算 or生效后 后面的and没必要在运算
print((True or False) and False)
#先运算括号内的数据
身份运算
is 比较的是id
== 比较的是值
例子:
x=1y=1
print(x is y)#False
print (x == y) #True
逻辑运算 if elif else while
#注意 tab建 在不同平台下空格数量不同 pycharm 下默认为4个
if 判断
ifTrue:print(‘你好’)
elif x=1:
print (‘你好’)else:print(‘走开’)
if 套 if
x=18
if x == 18:if x>0:print(True)else:print(False)
while循环 #条件循环
while循环后的条件一旦成立,会执行 while下的体代码
死循环
while True:print ('死循环')
#此时代码进入死循环
break 可以跳出循环
列:打印三次 hello
count=0
while True:
print ('hello')
count+=1
if count ==3:
break
continue 可以跳过本次循环
x=0while x<10:
x+=1
if x== 1 or x == 2 or x == 3:continue
else:print(x)
while 循环套while 循环
tag=Truewhiletag:print("start")whileTrue:print("end")
tag=Falsebreak
依赖索引循环 不依赖索引循环
#依赖索引
x=0
salary=[20000,30000,50000,80000]while x
x+=1
for line inrange(len(salary)):print(salary[line])#不依赖索引
for line insalary:print(line)
数字除以任何比它大的数字都是 商0 余1
打印1到100所有奇数
#练习
for line in range(1,6):if line % 2 ==1:print(line)
#while 方式
count=0
while count <=10:
if count %2==1:
print('loop',count)
count+=1
打印1到100所有偶数
#练习
for line in range(1,6):if line % 2 ==0:print(line)
#while 方式
count=0
while count <=10:
if count %2==0:
print('loop',count)
count+=1 #之前会遇到else 加完数字跳不出去的问题,这里取消else 的使用直接用体代码代替
while 与 else 组合使用:
#与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完中间没有被break 中止的话,就会执行else后面的语句
count=0while count<=10:print('loop',count)
count+=1
else:print("打印完毕")
# 练习,要求如下:
# 1 循环验证用户输入的用户名与密码
# 2 认证通过后,运行用户重复执行命令
# 3 当用户输入命令为quit时,则退出整个程序
name='liujin'
pwd='123456'
tag= True
while tag:
print("您好欢迎来到英雄联盟")
user_name = input("请输入您的账号").strip()
if user_name == 'quit':
break
password = input("请输入您的密码").strip()
if user_name == name and password == pwd:
print("登录成功")
while tag:
cmd=input("用户操作界面").strip()
if cmd == 'quit':
tag=False
break
print("run .... %s"%cmd)
练习:
#1. 使用while循环输出1 2 3 4 5 6 8 9 10#2. 求1-100的所有数的和#3. 输出 1-100 内的所有奇数#4. 输出 1-100 内的所有偶数#5. 求1-2+3-4+5 ... 99的所有数的和#6. 用户登陆(三次机会重试)#7:猜年龄游戏#要求:#允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出##8:猜年龄游戏升级版#要求:#允许用户最多尝试3次#每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序#如何猜对了,就直接退出#-----------1#count = 0#while count <10:#count+=1#if count == 4:#continue#else:#print(count)#-----------2#print(sum(range(1,100)))#count=0#for line in range(1,100):#count+=line#else:#print(count)#------------3#for line in range(1,100):#if line %2 == 1:#print(line)
#count = 0#while count <100:#if count %2 ==1:#print(count)#count+=1#------------------4
#for line in range (1,101):#if line %2 == 0:#print(line)#count=0#while count<=100:#if count %2 ==0:#print(count)#count+=1#------------------5#方法一#ji=0#ou=0#for line in range(1,101):#if line %2 == 1:## print(line)#ji+=line#else:#print(ji)#for line in range(1, 101):#if line % 2 == 0:## print(line)#ou += line#else:#print(ou)#ji-=ou#print(ji)#方法2#res=0#count=1#while count<=100:#if count %2 == 0:#res-=count#else:#res+=count#count+=1#print(res)#-------------------6#name='liujin'#password='123456'#count=1#while count<=3:#user_name=input('请输入名字').strip()#pwd=input("请输入密码").strip()#if user_name ==name and pwd == password:#print("登录成功")#else:#print("账户密码错误")#count+=1#---------------------7#age=18#count=1#while count<=3:#user_input=input("plase input >>:").strip()#user_input=int(user_input)#if user_input <18:#print("猜小了")#count+=1#elif user_input == 18:#print("猜对了")#break#else:#print("猜错了")#count+=1#------------------------8#tag=True#age=18#count=1#while tag:#while count<=3:#user_input=input("plase input >>:").strip()#user_input=int(user_input)#if user_input <18:#print("猜小了")#count+=1#elif user_input == 18:#print("猜对了")#tag=False#break#else:#print("猜错了")#count+=1#while tag:#choose=input("输入y 继续 n退出>>:").strip()#if choose == 'y' or choose == 'Y':#count=0#break#if choose == 'N' or choose == 'n':#tag=False#break#else:print("输入错误请重新输入")