五,Python基础(2)

1.数据类型基础

(一)什么是数据类型?

用于区分变量值的不同类型。

(二)为何对数据分类?

针对不同状态就应该用不同类型的数据去标识。

(三)数据类型分类

1.数字类型

1.1整型(int)

1.11作用

表示人的年龄、各种号码、级别

1.12定义

age = 24      # age=int(24)
print(id(age))
print(type(age))
print(age) 1982099648
<class 'int'>
24

1.13如何用

加减乘除、逻辑判断(大于、小于)

print(a+b)
print(a-b)
print(a*b)
print(a/b)
.....

1.2浮点型(float)

1.21作用

表示身高、体重、薪资

1.22定义

money = 2.5      # money=float(2.5)
print(id(money))
print(type(money))
print(money) 244287541632
<class 'float'>
2.5

1.23如何用

加减乘除、逻辑判断(大于、小于)

2.字符串类型(str)

2.1作用

表示名字、性别、爱好等

2.2定义

name='sanpao'
hobby='wanle'
print(type(name1))
print(name+hobby)

2.3如何用

字符串只能加、乘和逻辑比较

不同数据类型不能拼接

字符串的拼接,即重新申请一个小空间把两个字符串都拷贝再拼接

3.列表类型(list)

3.1作用

例如存取一个人的爱好

3.2定义

在[]内用逗号隔开任意类型的值

list=['name','height','weight','age']
print(list)

3.3如何用

存不是目的,取才是目的

list=['name','height','weight','age']
# 索引序号 0 1 2 3
#取出第三位
print(list[2])

4.字典类型(dict)

4.1作用

用来存取多个值,按照key : value的方式存值,取得时候可以通过key而非索引去取值,key对value具有描述性的作用,存放数据的种类,各种各样且数据较多的时候可以使用字典。

4.2定义

在{}内用逗号分割开多个元素,每一个元素都是key:value的格式,其中value是任意格式的数据类型,由于key具有描述性的作用,所以key通常是字符串类型

dict={'name':'mahua','gender':'male','age':18,'power_info':['oldboy','shanghai','hongqiao']}

4.3如何用

字典取值方式不再依赖于索引,而是依赖于key,通过key即可获取对应value值。

5.布尔类型(bool)

5.1作用

用于判断条件结果

5.2定义

true、false通常情况不会直接引用,需要使用逻辑运算得到结果。

5.3如何用

print(type(true))
print(true)
print(bool(1>2))
print(bool(1==1))

注意:Python中所有数据类型的值自带布尔值,如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True.

2.解压缩

解压缩可以理解为我们去酒庄存了多瓶酒,然后我们到了时间把这些酒一次性全部取出来。

name_list = ['mahua','guapi','shadiao','doubi']
x,y,z,k=name_list
print(f'x:{x},y:{y},z:{z},k:{k}') x:mahua,y:guapi,z:shadiao,k:doubi

如果遇到一些我们不想要的酒,过期了,想丢掉的话,那么我们可以用下划线,无所不能的下划线

name_list = ['mahua','guapi','shadiao','doubi']
x,y,z,k=name_list
x,_,z,_=name_list
print(x,z) mahua shadiao

还有一种方法就是添加一个星号*与下划线相乘可以代替一段连续的下划线,方便简洁。

name_list = ['mahua','guapi','shadiao','doubi']
x,y,z,k=name_list
x,*_,k=name_list
print(x,k)
print(*_) mahua doubi
guapi shadiao

字典也是用来解压缩,但字典解压缩的是key

dict={'name': 'mahua', 'age': 24}
x, y=dict
print(x, y) name age

3.Python与用户交互

一、为什么要交互?

计算机的发明是为了奴役计算机,我们写程序就是用来跟计算机交互,不然我们写程序将毫无意义。

二、如何交互?

name=input('你的姓名:')
print(name*10)
name = input('请输入你的姓名')
pwd = input('请输入你的密码')

input作用只是接收值

4.格式化输出的三种方式

一、占位符

%s(针对所有数据类型)、d%(仅仅针对数字类型)

name='magua'
age =24
print('my name is %s my age is %s' % (name ,age)) (占位符)
print('my age is %d' %(age)) name1='guapi'
height=180
print('my name is %s,my age is %s'%(name1,height))

二、format格式

name='magua'
age=24
print("hello {},you are {}.".format(name,age))

三、f-string格式化

name ='magua'
age = 24
print(f"hello,{name}.you are {age}.") #大小写f都可以。

5.基本运算符

一、算术运算符:

x=10
y=20
print(x+y)
print(x-y)
print(x*y)
print(x/y)
print(x%y)
print(x//y)
print(x**y)

二、比较运算符:

z=10
k=20
print(z<k)
print(z>k)
print(z>=k)
print(z<=k)
print(z==k)
print(z!=k)

三、赋值运算符:

a=10       #(一元赋值运算符)
b=20 a += b #相当于a=a+b #二元赋值运算符
print(a)
b += 10
print(b)
a -= b
print(a)
a *= b
print(a)
a /= b
print(a)
a **= b
print(a)
a //= b
print(a)
a %= b
print(a)

四、逻辑运算符:

# and
print(True and True) # true #两个为真才能为真
print(True and False) # false
print(1<2 and 2>3) # false # or
print(True or False) #true 有一个为真即为真
print(False or False) #false # not # 非,不是。
print(not False) # true
print(not True) # false
print(not 1>2)

五、身份运算符:

d=1000
c=1002
print(d is c)
print(d is not c)
print(not c is d)

六,运算符优先级

print(not c is d**2)     #建议加括号

#True为1,False为0

print(True>0)
print(False<1)

6.流程控制之if判断

模拟人做判断

1.if

学什么都是为了让计算机向人一样工作,我们无时无刻都在判断。路边路过一个生物,你会判断两个人是不是会表白?首先会判断这个生物是不是人类,并且这个人类是个女人,年龄大于18小于20几岁。你首先需要记录一堆数据,然后才会用你的大脑去判断。if表示if成立代码成立会干什么。

if 条件:
代码1
代码2
代码3
...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
cls = 'human'
gender = 'female'
age = 18 if cls == 'human' and gender == 'female' and age > 16 and age < 22:
print('开始表白') print('end...')

2.if...else

if 条件:
代码1
代码2
代码3
...
else:
代码1
代码2
代码3
...

if...else表示if成立代码成立会干什么,else不成立会干什么。

 light = "green"
if light=='green':
print('通过')
else:
print('等待')
  1. if...elif...else
if 条件1:
代码1
代码2
代码3
...
elif 条件2:
代码1
代码2
代码3
...
elif 条件3:
代码1
代码2
代码3
...
...
else:
代码1
代码2
代码3
...

if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。

age=input('your age:')
age=int(age)
if age>18:
print('猜大了')
elif age<18:
print('猜小了')
else:
print('猜对了')

4.if的嵌套

给定一个年龄,判断他是否猜对或猜大猜下,然后该怎么做。

    age=18
inp_age=int(input("age:"))
if age <= inp_age:
if age < inp_age:
print('猜大了')
else:
print('猜对了')
break
else:
print('猜小了')

7.流程控制之while循环

什么是循环呢?我们每天早上起床,上课,休息,每天都重复这几件事,这就是循环。

while循环又称为条件循环。

1.whil+break

break的意识是终止掉当前层的循环,执行其他代码。

while True:
name = ('cxk')
key = ('rap')
inp_user=input('请输入用户名:')
inp_pwd=input('请输入密码:')
if name == inp_user and key == inp_pwd:
print('登陆成功')
break #跳出本层循环
else:
print('登陆失败')

2.while+continue

continue的意思是终止本次循环,直接进入下一次循环。

n = 1
while n < 4:
print(n)
n += 1
n=1
while n<10:
if n == 5:
n += 1
continue #跳出本次循环
n += 1
print(n)
n=1
while n<10:
if n == 5:
n += 1
continue #跳出本次循环
n += 1
print(n)

continue不能加载循环体的最后一步执行的代码,因为代码加上去毫无意义,如图所示的continue所在的位置就是毫无意义的,注意是最后一步执行的代码,而不是最后一行。

3.while循环的嵌套。

#退出内层循环的while嵌套:
while True:
name = ('cxk')
key = ('123')
inp_name=input('用户名:')
inp_key =input('密码:')
if inp_name==name and inp_key==key :
print('登陆成功')
while True:
older=input('请输入指令')
if older=='esc':
print('退出登录')
break
else:
print('操作成功')
else:
print('登陆失败')
#打印1-1000之间偶数之和
n=1
count=0
while n<1001:
if n%2==0:
count+=n
n+=1
print(count)
print((1+1000)*1000/2/2)
#循环登陆,输入密码三次退出,

count=0
user_name=('cxk')
pwd_key=(123)
while count<3:
name=input('账号:')
key =int(input('密码:'))
if name==user_name and key == pwd_key:
print('登陆成功')
break
else:
print('登陆失败')
count+=1

4.while+else

n = 1
while n < 3:
print(n)
n += 1
else:
print('else会在while没有被break时才会执行else中的代码')

注意:else会在while没有被break时才会执行else中的代码

while循环会进入死循环(不可控),尽量少使用

世间万物(所有数据类型都可以)作为循环的对象。

8.流程控制之for循环

1.为什么有了while循环,还会有for循环呢?如果我们要从字典里取值,那我们只能用到for 循环了。

dict = {'name':'cxk','age':98}
for i in dict:
print(i)

2.for循环的循环次数受限于容器类型的长度,且不会进入死循环,是可控的,而while循环的循环次数需要自己控制,for循环也可以按照索引取值。for循环只对容器类数字类型循环()

for i in range(1,10):
print(i)

3.for+break

跳出本层循环

for i in range(1,10):
if i==5:
break #跳出本层循环
print(i)

4.for+continue

for i in range(1,10):
if i==6:
continue #跳出本次循环
print(i)

5.for循环嵌套

外层循环循环一次,内层循环循环所有。

*打印九九乘法表

for i in range(1,10):
for j in range(1,10):
k=i*j
print(f'%d*%d=%d '%(i,j,k),end='')
if i==j:
break
print()

6.for+else

for循环没有被break的时候触发else内部代码块。

name_list=['cxk','magua','james']
for i in name_list:
print(i)
else
print('over')

7.for循环实现loading.

print("loading",end='')
for i in range (6):
print('.',end='')

9.Python基础实战之猜年龄游戏

编写猜年龄游戏,有以下要求:

  1. 可能会有用户会在输入年龄之后不小心输入空格,如18   ,请做处理

  2. 可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理

  3. 如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)

  4. 如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):{1:'辣条',2:'小猪佩奇',3:'蔡徐坤',4:'Python从删库到跑路'}

  5. 用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。

    age = 18
    count = 0
    liwu={1:'辣条',2:'小猪佩奇',3:'蔡徐坤',4:'Python从删库到跑路'}
    while count<3:
    age_1=input('请输入年龄:')
    if not age_1.isdigit():
    continue
    age_1=int(age_1)
    if age==age_1:
    print('猜对了哦,真棒')
    print(f'请选择你的礼物(n放弃):',liwu)
    for i in range(2):
    choice = input()
    if choice=='n':
    break
    print(f'恭喜你获得了:,{liwu[int(choice)]}')
    break
    elif age_1<18:
    print('猜小了,继续努力')
    else:
    print('猜大了,继续努力')
    count+=1
    while count==3:
    keep=input('是否继续(Y继续,N退出)')
    if keep=='Y':
    count=0
    elif keep=='N':
    break
    else:
    print('输入有误,请重新输入')

五、Python基础(2)的更多相关文章

  1. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  2. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  3. 五. Python基础(5)--语法

    五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...

  4. 五 Python基础 数据类型和变量

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  5. Pyhton开发【第五篇】:Python基础之杂货铺

    Python开发[第五篇]:Python基础之杂货铺   字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进 ...

  6. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  7. 第五章:Python基础の生成器、迭代器、序列化和虚拟环境的应用

    本课主题 生成器介紹和操作实战 迭代器介紹和操作实战 序例化和反序例化 Json 和 Pickle 操作实战 字符串格式化的应用 创建虚拟环境实战 本周作业 生成器介紹和操作实战 什么是生成器,生成器 ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

随机推荐

  1. css之vw布局

    vw,vh是视口单位,是相对视口单位,与百分百布局不一样的是,百分百是相对于父及元素,而vw布局是相对与窗口. 而rem布局是要与js一起配合 // 以iphone6设计稿 @function px2 ...

  2. python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)

    简介 有时候在忙工作,女朋友发了一个消息,就撤回了,但是人天生的都有一颗好奇心,而且在当今这个时代找个女朋友不容易,一个程序猿找一个女朋友更是不容易的.人家好不容易跟你,你还不得把人家当老佛爷侍候着, ...

  3. HDU 4059:The Boss on Mars(数学公式+容斥原理)

    http://acm.hdu.edu.cn/showproblem.php?pid=4059 题意:给出一个n,求1~n里面与n互质的数的四次方的和是多少. 思路:不知道1~n的每个数的四次方的求和公 ...

  4. HDU 4462:Scaring the Birds(暴力枚举+状态压缩)

    http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:有一个n*n的地图,有k个空地可以放稻草人,给出每个空地可以放的稻草人属性,属性中有个R代表这个位置 ...

  5. flask 高级编程 上下文与栈(转)

    转: https://www.cnblogs.com/wangmingtao/p/9372611.html 22.上下文与出入栈 22.1 请求过程 请求过来,flask会实例化一个Request C ...

  6. Mysql CPU使用率长期100%的解决思路备忘

    最近一台服务器的CPU使用率长期保持在100%的状态,查看进程发现是Mysql服务导致的.于是搜索各方资料,终于成功解决问题.备忘以及分享一下,希望可以帮助各位新手朋友. (服务器运行环境是Windo ...

  7. Centos6.5安装Redis3.2.8

    1 - Redis安装 redis安装 在网上一搜一大把,但是还是在这里想要能够统一吧,所以这个安装步骤是在Centos6.5 Minimal 上安装redis3.4.8,本次安装是在root 用户下 ...

  8. 【Netty】使用解码器Decoder解决TCP粘包和拆包问题

    解码器Decoder和ChannelHandler的关系 netty的解码器通常是继承自ByteToMessageDecoder,而它又是继承自ChannelInboundHandlerAdapter ...

  9. Ubuntu安装Sublime Text 3

    终端命令行安装: Install the GPG key: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo a ...

  10. Ubuntu系统安装QQ等软件

    1.安装deepin-wine环境:上https://github.com/wszqkzqk/deepin-wine-for-ubuntu页面下载zip包(或用git方式克隆),解压到本地文件夹,在文 ...