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.分支结构 赋予程序人的思维 ...
随机推荐
- Python学习第十三篇——函数的深层次运用
def make_pizza(size,*toppings): print("\nmaking a "+str(size)+" size pizza with follo ...
- 2018软工实践K班总结
再回首一学期的软工实践,首先还是要感谢两位助教童鞋帮我承担了作业发布.打分以及与学生的问题沟通等.从这次的软工实践80人+开始,之后的实践课变为必修,故如何能更有效地组织大班实践环节是一个需要持续探讨 ...
- jQuery中.html(“xxx”)和.append("xxx")有什么区别
append是追加,html是完全替换比如<p id="1"><p>123</p></p>$("#1").htm ...
- MySQL 主从同步遇到的问题及解决方案
在做某个项目的时候,使用主从数据库,master负责update.delete.insert操作,而slave负责select操作. 情景1:发表文章与查看文章 可以认为这个项目是一个博客系统,这里就 ...
- PHP的内存回收(GC)
php官方对gc的介绍:http://php.net/manual/zh/features.gc.php
- css实现三栏自适应布局(两边固定,中间自适应)以及优缺点
方法一:绝对定位(absolute + margin) 原理:给左右两边的元素设置absolute,这样左右两边的元素脱离标准文档流的控制,中间的元素自然会上来,然后给中间的元素设置margin留出左 ...
- PHP中对象是按值传递还是按引用传递?
1.首先,什么是按值传递和按引用传递? 按值传递就是仅仅把值传递过去,相当于传递的是值的拷贝,而按引用传递传递的是内存的地址. 在 PHP5 中,如果按引用传递,就是将 zval 的地址赋给另一个变量 ...
- childNodes遍历DOM节点树
childNodes遍历DOM节点树 var s = ""; function travel(space,node) { if(node.tagName){ s += space ...
- 解决tab标签页,相同id时切换失灵的问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django进阶知识
drf学习之Django进阶点 一.Django migrations原理 1.makemigrattions: 相当于在每个app下的migrations文件夹下生成一个py脚本文件用于创建表或则修 ...