zoukankan      html  css  js  c++  java
  • 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

    作者:Gruffalo
    ---------------------------------------------
    天行健,君子以自强不息
    地势坤,君子以厚德载物
    内容仅为自己做日常记录,备忘笔记等
    真小白,努力学习ing...一起加油吧!(ง •̀_•́)ง
  • 相关阅读:
    mina 实例(转载)
    Java NIO 转载
    解决 Tomcat reload WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but fail
    ECharts的使用相关参考---转
    转-——推荐几个web中常用的一些js图表插件
    (转)Log4J日志配置详解
    ~与~+的用法
    【转】sed 高级用法
    使用sed替换一行内多个括号内的值
    【转】 SED多行模式空间
  • 原文地址:https://www.cnblogs.com/smallfoot/p/9977062.html
Copyright © 2011-2022 走看看