简易计算器

#简易计算器,蠢新一枚,功能尚不完善,本为个人练习,仅供参考
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学习日记(练习,流程控制+数据结构)的更多相关文章

  1. python学习日记(流程控制习题)

    请输出1-2+3...+99除88以外的和 i = 1 sum = 0 while i <= 99: if i == 88: i = i + 1 continue else: if i%2 == ...

  2. Python学习笔记 - day4 - 流程控制

    Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...

  3. PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数

    前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...

  4. Python学习笔记:流程控制

    单分支: if 条件: 满足条件后执行的代码 程序举例: leiyu=28if leiyu > 22: print("You can find girl friend..." ...

  5. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  6. Python分支结构与流程控制

    Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...

  7. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  8. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  9. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  10. python语法入门之流程控制

    python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...

随机推荐

  1. Winform MDI窗体切换不闪烁的解决办法(测试通过)

    https://stackoverflow.com/questions/5817632/beginupdate-endupdate-for-datagridview-request SuspendLa ...

  2. JoinPoint

    “JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoint对象. ” JoinPoint适用于注解和Sc ...

  3. javaweb之Cookie学习

    Cookie简介 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条裤子, ...

  4. 【问题解决方案】Dev C++ 无法调试的问题与解决

    听翁恺老师课的时候用到一个叫DevC++的编辑器. 学到调试部分的时候,老师的没问题我的报错.我?? 试一试网上查到的方法: 工具 --> 编译选项 --> 代码生成/优化 --> ...

  5. # 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?

    # [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? # 思路:先判断是否为闰年,这关系到 2 月份的天数.# 之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日 ...

  6. Day 4-8 hashlib加密模块

    HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射 ...

  7. java 调用 wsdl形式的webservice 示例

    import java.rmi.RemoteException; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.ServiceExc ...

  8. 【转】说说MySQL中的Redo log Undo log都在干啥

    阅读目录(Content) 1 undo 1.1 undo是啥 1.2 undo参数 1.3 undo空间管理 2 redo 2.1 redo是啥 2.2 redo 参数 2.3 redo 空间管理 ...

  9. 和docket的第一次亲密接触

    很久很久以前,第一次听说docker时,感觉很高大上,同时自我感觉会很难.所以一直没有详细了解.前一段时间偶尔看到关于docker的详细介绍,于是乎来了兴趣.自已折腾了一下,发现不是想象中的那么难. ...

  10. java 中 的 字节流!

    package cn.zhouzhou; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...