while + esle

    #当while循环正常循环结束后,会执行else中的代码块。如果遇到break结束循环,else中的代码将不会运行。
```
结构:
while 条件:
循环代码
else:
代码块
```
#如:
i= 1
while i < 10:
print('i')
else:
print('循环正常结束了')


死循环和while的嵌套

      #在python中我们千万不要写纯数学计算的死循环,这样会让电脑的性能严重下降,严重时可能会损坏电脑硬件。
#如:
i = 100
while True:
i *= 100 #while的嵌套
i = j = 1
while i < 9:
while j < 9:
print(i * j)
j += 1
i += 1


for循环的基本使用和补充

    #结构
```
for 变量名 in 循环体:#字符串、列表、字典、元组、集合
循环代码
```
# 循环字典(特殊):循环字典只能获取到字典的key value无法直接获取
userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'}
for i in userinfo_dict:
print(i)
#这时i拿出的值为'username','age'和'gender',并不会取出value
#而且当取出的数据类型为字典和集合时都是无序的,字典看着是有序的实际上是pycharm处理过的,让我们看着是有序的。 for i in [1,2,3,4]:
print(i)
#for循环和while循环一样都可以使用break ,continue和else,用法一致
for i in [1,2,3]:
if i == 2:
break for i in [1,2,3]:
if i == 2:
continue for i in [1,2,3]:
print(i)
else:
print('循环正常结束')


for循环的嵌套

for循环的嵌套在我高中的时候就已经接触到了,在信息技术这门课中我们学的是VB,我们会学习到用双重循环去排序如:冒泡排序和选择排序。虽然VB和python是两个完全不一样的东西,但是代码编写的思想是一样的。

    #冒泡排序:
data = [2,43,5,67,8,9,0,-1]
for i in range(len(data)):
for j in range(i+1,len(data)):
if data[i] > data[j]:
data[i],data[j] = data[j],data[i]
print(data) #选择排序:
data = [2,43,5,67,8,9,0,-1]
for i in range(len(data)):
key = i
for j in range(i+1,len(data)):
if data[key] > data[j]:
key = j
if key != i:
data[i],data[key] = data[key],data[i]
print(data)


range关键字

range方法在python2和python3中有所区分在:

python2中range是直接产生一个列表 元素很多的情况下比较占用空间在python2中有一个xrange 其实就是python3里面的range

    在python3中range不占空间但是可以取出很多数据,在python3中就只有一个range了


#python2代码:
L=range(0,10)
print(L)
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] #python3输入相同的代码其结果:
range(0, 10) #打印出0-99
for i in range(100):#range是这样的一个区间[ , ) ,能取得到前面但取不到后面,或者可以说是顾头不顾尾
print(i) #range(起始位置,末尾位置,步长)
#只有一个数字,默认从0开始
for i in range(10):
print(i)
#写2 个数字,自定义起始位置,
for i in range(1, 10):
print(i)
#写3个数字,第三个数字表示步长,默认不写步长为1
for i in range(1, 10, 2):
print(i)


基本数据类型及内置方法

int和float

	1.类型转换
2.进制数转换
# 类型转换
# res = int('123') # 将int方法执行之后的结果赋值给变量res
# print(res, type(res)) # int
# int('11.11') #11会舍去小数,保留整数
# int('abc')#运行后会报错
"""int方法只能转换纯数字的字符串"""
# 将十进制转换成其他机制
# print(bin(100)) # 0b1100100 二进制(0b开头)
# print(oct(100)) # 0o144 八进制(0o开头)
# print(hex(100)) # 0x64 十六机制(0x开头)
# 将其他机制转换成十进制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16)) float浮点型
1.类型转换
res = float('11.11')
print(res, type(res)) # 11.11
res = float('11')
print(res, type(res)) # 11.0整数进行float强制转换时会强制加上小数
float('abc')#运行后会报错


字符串内置方法(重要,常用到)

1.类型转换
str可以转换所有基本数据类型
print(str(11), type(str(11)))
print(str(11.11), type(str(11.11)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str({'name': '123'}), type(str({'name': '123'})))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
print(str(True), type(str(True))) # print(str(11), type(str(11)))
# print(str(11.11), type(str(11.11)))
# print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
# print(str({'name': '123'}), type(str({'name': '123'})))
# print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
# print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
# print(str(True), type(str(True))) s1 = 'hello world'
# 1.索引取值
# print(s1[0]) # 2.切片操作
# print(s1[2:4]) # 顾头不顾尾 # 3.步长
# print(s1[2:9:1]) # 第三个参数是步长 默认是1 依次获取
# print(s1[2:9:2]) # 间隔一个取一个
# 索引取切片扩展(默认从左向右)
# print(s1[-1]) # 获取最好一个字符
# print(s1[-1:-5:-1]) # dlro 第三个参数还可以控制索引的方向
# print(s1[-5:-1]) # worl # 4.统计字符串中字符的个数
# print(len(s1)) # 11 # 5.成员运算
# print('ll' in s1) # 6.移除字符串首位指定的字符(使用频率较高)
# name = ' 春游去动物园 '
# print(len(name))#10
# res = name.strip() # 默认移除字符串首尾的空格
# print(res, len(res)) #春游去动物园 6 # 7.按照指定的字符切割字符串
# data = '春游去动物园|123|春游'
# print(data.split('|')) # ['春游去动物园', '123', '春游']
# name, pwd, hobby = data.split('|') # 解压赋值
# print(data.split('|', maxsplit=1)) # ['春游去动物园', '123|春游']
# print(data.rsplit('|', maxsplit=1)) # ['春游去动物园|123', '春游']
"""split方法切割完字符串之后是一个列表"""

今日作业

编写一个用户登录程序:

1.要求最多尝试失误三次 过期自动提示并可重置尝试次数

2.用户登录成功之后进入内部循环 用户输入什么就打印什么 并给用户提供一个结束程序的特殊指令

3.获取用户输入的用户名和密码可以处理首尾空格

4.用户的用户名和密码使用变量存储 通过程序获取用户名和密码比对

data = 'jason|123'


data = 'jason|123'
name,pword = data.split('|')
i = 0
while i < 3:
username = input('请输入用户名: ').strip()
password = input('请输入密码: ').strip()
if (username == name) and (password == pword):
print('登入成功')
while True:
str = input('请输入要执行的操作(exit退出): ')
if str == 'exit':
break
else:
print(str)
break
else:
i += 1
print('账号或密码错误')
if i == 3:
is_agin = input('是否继续尝试(Y/N): ')
if is_agin == 'Y':
i = 0
else:
break

while..else ;for;range; 基本数据类型的内置函数的更多相关文章

  1. Python---基础---数据类型的内置函数

    2019-05-23 ---------------------------- 一. #数据类型的内置函数Python有哪些数据类型?Number   数值型string   字符型list     ...

  2. Python语法速查: 1. 数据类型与内置函数

    返回目录 (1)常用内置数据类型 分类 类型名称 描述 数字 int 整数 float 浮点数 complex 复数 bool 布尔值 序列 str 字符串(不可变序列) list 列表 tuple ...

  3. Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...

  4. Python数据类型的内置函数之list(列表)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) list(列表)的操作 - (append)在列表最后追加指 ...

  5. Python数据类型的内置函数之str(字符串)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...

  6. PostgreSQL各数据类型的内置函数

    参考<PostgreSQL实战> 3.1.2 数字类型操作符和数学函数 PostgreSQL 支持数字类型操作符和丰富的数学函数 例如支持加.减.乘.除.模取取余操作符 SELECT 1+ ...

  7. python: 基本数据类型 与 内置函数 知识整理

    列表 list.append(val) #末尾追加,直接改变无返回 list.inert(2,val) #插入到指定位置 list.extend(mylist1) #list会被改变 list2=li ...

  8. Python---基础----数据类型的内置函数(主要介绍字符串、列表、元组、字典、集合的内置函数)(二)

    2019-05-24 -------------------------------- 一. # splitlines()    以换行切割字符串s = '''日照香炉生紫烟\n疑是银河落九天\n飞流 ...

  9. python数据类型常用内置函数之字符串

    1.strip, lstrip, rstrip x = ' jiahuifeng ' print(x.strip(' ')) print(x.lstrip(' ')) print(x.rstrip(' ...

随机推荐

  1. AQS 支持两种同步方式?

    1.独占式 2.共享式 这样方便使用者实现不同类型的同步组件,独占式如 ReentrantLock,共享式如 Semaphore,CountDownLatch,组合式的如 ReentrantReadW ...

  2. Spring 切面可以应用五种类型的通知?

    Spring 切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用. after: 在方法执行之后调用的通知,无论方法执行是否成功. after-returning: 仅当方法 ...

  3. css浮动的"巨坑"与完美解决办法

    浮动 1 浮动概念 如果想实现网页中排版布局,比如一行内显示对应的标签元素,可以使用浮动属性.浮动可以实现元素并排. 块转行内日块也可以实现一行显示,不过存在空白折叠现象 float 浮动 属性值 描 ...

  4. 如何在 Microsoft word中插入代码

    一.工具 方法1.打开这个网页PlanetB; 方法2.或者谷歌搜索syntax highlight code in word documents,检索结果的第一个.如下图: PS. 方法1和2打开的 ...

  5. 数据结构:DHUOJ 单链表ADT模板应用算法设计:长整数加法运算(使用单链表存储计算结果)

    单链表ADT模板应用算法设计:长整数加法运算(使用单链表存储计算结果) 时间限制: 1S类别: DS:线性表->线性表应用 题目描述: 输入范例: -5345646757684654765867 ...

  6. Numpy中重要的广播概念

    Numpy中重要的广播概念 广播:简单理解为用于不同大小数组的二元通用函数(加.减.乘等)的一组规则 广播的规则: 如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1 如果shape ...

  7. 8.5_线性控制器设计_轨迹跟踪(Follow a Desired Path)

    平衡点时所有的导数都为0 simulink中建立状态方程模型

  8. 基于canvas和web audio实现低配版MikuTap

    导言 最近发掘了一个特别happy的网页小游戏--MikuTap.打开之后沉迷了一下午,导致开发工作没做完差点就要删库跑路了,还好boss瞥了我一眼就没下文了.于是第二天我就继续沉迷,随着一阵抽搐,这 ...

  9. Python窗口学习之搜索框美化

    初学tkinter,感觉这个插件虽然是做界面的,但是没有html,也没有android那么人性化 既没有画圆角长方形的办法也没有添加透明按钮的办法(可能是我没找到) 所以自己用canvas画了两个扇形 ...

  10. C# 一个基于.NET Core3.1的开源项目帮你彻底搞懂WPF框架Prism

    --概述 这个项目演示了如何在WPF中使用各种Prism功能的示例.如果您刚刚开始使用Prism,建议您从第一个示例开始,按顺序从列表中开始.每个示例都基于前一个示例的概念. 此项目平台框架:.NET ...