python学习日记(练习,流程控制+数据结构)
简易计算器
#简易计算器,蠢新一枚,功能尚不完善,本为个人练习,仅供参考
while 1:
a = input('请输入第一个运算数:').strip()#可输入前后带空格的数字
if a.lower() == 'exit':#不区分大小写的实现
break
c = input('请输入运算符(仅限+,-,*,/,**):').strip()
if c.lower() == 'exit':
break
b = input('请输入第二个运算数:').strip()
if b.lower() == 'exit':
break
if c == '+':
s = float(a) + float(b)
print(s)
elif c == '-':
s = float(a) - float(b)
print(s)
elif c == '*':
s = float(a) * float(b)
print(s)
elif c == '/':
if float(b) != 0:
s = float(a) / float(b)
print(s)
else:
print('除数不可为零!')
continue
elif c == '**':
s = float(a) ** float(b)
print(s)
else:
print('运算符有误!请输入"+,-,*,/,**"')
continue
cont = input('任意键继续,退出请输入N(不区分大小写):')
if cont.lower() == 'n':
break
else:
continue

计算元素类型个数
#输出输入字符串的元素类型个数,其他方法同理,isalph(),isalnum()
s = input('请输入:')
count = 0
for i in s:
if i.isdigit():
count += 1
print(count)

员工信息列表
可持续插入新的信息,输入提示符退出
employee = ['a','f','d','s']
while 1:
newem = input('请输入新职工姓名(退出请输入exit(case-insensitive)):')
if newem.lower() == 'exit':
break
else:
employee.append(newem)
print(employee)
print('添加成功')

赋值运算:
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
print(b,end=' ')
a, b = b, a+b

这种赋值运算的要点是:先计算等号右边的,再赋值。
首先,a = 0, b = 1.
然后,下一步,先等号右边,b 当前为1, a+b = 0 + 1 = 1,
再赋值:b赋值给a ,a = b(b=1) ,a = a + b (a+b=0+1=1)
现在,a = 1,b = 1这次循环结束。
a = 1
b = 2
a,b = b,a#一行代码实现a,b值的互换
print(a,b)

输入过滤敏感信息
不再敏感词汇库中,添加到当前列表,反之,违规字符串将转化为“***”并添加到新列表。()
li = ['orange','banana','apple','watermellon','mongo','strawberry']
newli = []
while 1:
put = input('请输入(结束请输入exit :case-sensitive):')
if put.lower() == 'exit':
break
if put in li:
print('您输入的信息违规!!请重新输入')
newli.append('***')
else:
li.append(put)
print(li)
print(newli)

计算元素类型个数(升级:每段连续的数字计数为1)
s = input('>>>')
for i in s:# #开始遍历字符串
if i.isalpha():# #如果当前字符为字母的时候
s = s.replace(i,' ')# #将其替换成' ',循环继续,同时保持了位置的一致性
l = s.split()# #循环结束之后原先含有字母和数字的字符串,变成了只含有空格和数字的字符串,split将其分割成只含有数字列表
print(len(l))# #输出列表长度,即为连续数字的统计
#可采用debug来更直观的看出每一步,每一次循环的具体流程及结果
#疑惑点:s 是一个字符串,不可变数据类型,但是for 会把s的数据先存储到自己循环机制里面,在这个过程中,其实改变的不是之前的s
#,而是不断改变生成新的s, for已经确定了循环次数,并且按照原来的s中每一个元素去循环,次数也是按照原有长度去循环

pass
python学习日记(练习,流程控制+数据结构)的更多相关文章
- python学习日记(流程控制习题)
请输出1-2+3...+99除88以外的和 i = 1 sum = 0 while i <= 99: if i == 88: i = i + 1 continue else: if i%2 == ...
- Python学习笔记 - day4 - 流程控制
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...
- PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数
前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...
- Python学习笔记:流程控制
单分支: if 条件: 满足条件后执行的代码 程序举例: leiyu=28if leiyu > 22: print("You can find girl friend..." ...
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- Python学习日记 --day2
Python学习日记 --day2 1.格式化输出:% s d (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
随机推荐
- img :src=“” url()
<img :src="logoImg"> this.logoImg='/static/images/'+adminUser.Logo; v-bind:style=&qu ...
- mybatis的mapper注入失败
因为处在两个不同的资源文件夹下: 导致classpath无法加载其中一些文件,所以修改为classpath*后顺利进行. <!-- 加载spring容器 --> <!-- neede ...
- js中的join(),reverse()与 split()函数用法解析
<script> /* * 1:arrayObject.reverse() * 注意: 该方法会改变原来的数组,而不会创建新的数组.此函数可以将数组倒序排列 * 2:arrayObject ...
- C# foreach内部原理
我们知道使用foreach的一个要求是对象必须继承自IEnumerable接口 这样才可以进行迭代 那内部是怎么实现的呢 这个时候会将对应的foreach语句转换为一个while循环 并且通过Move ...
- js this的含义以及讲解
this关键字是一个非常重要的语法点.毫不夸张地说,不理解它的含义,大部分开发任务都无法完成. 首先,this总是返回一个对象,简单说,就是返回属性或方法“当前”所在的对象. 下面来两个例子来让大家更 ...
- [转帖]BRD、MRD 和 PRD
来源: https://www.zhihu.com/question/19655491 BRD 商业需求文档 Business Requirement Document MRD 市场需求文档 Mark ...
- macbookpro 以及 surface 的技术规格
macbookpro 13.3 英寸 (对角线) LED 背光显示屏 (采用 IPS 技术):初始分辨率 x ( ppi),支持数百万色彩 15.4 英寸 (对角线) LED 背光显示屏 (采用 IP ...
- 剑指offer(10)
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路: 如果忽略题目中 ...
- springMVC中@RequestParam和@RequestBody的作用
@RequestParam和@RequestBody是什么区别,估计很多人还是不太清楚, 因为一般用@ RequestParam就足够传入参数了,要说他们区别,就需要知道contentType是什么? ...
- Golang的日志处理
整个看了一圈下来,感觉Golang的日志包在管理多线程安全的情况下,提供了最小粒度的工具.并没有提供什么复杂的过滤器之类的生成. 实现了一个demo来记录一下日志分类日志打印等实现: package ...