zoukankan      html  css  js  c++  java
  • 流程控制 if while for 已及数字类型 进制转换

    一:if 语句
    语法一:if
    if 条件:
    code1
    code1
    code1

    语法二:if ...else ...

    if 条件:
    code1
    code1
    code1
    else:
    code1
    code1
    code1

    语法三:多分支 if .. elif .. else

    if 条件:
    code1
    code1
    code1
    elif 条件一
    code1
    code1
    elif 条件二:
    code1
    code1
    code1
    else:
    code1


    二:while 循环
    1.什么是循环
    循环就是一个重复的过程

    2.为什么要有循环
    人可以重复的去做某一件事情
    程序中必须有一种机制能够控制计算机像人一样重复的去做某一件事
    3.如何用循环

    结构:
    while 条件:
    如果条件成立,执行while里面的程序块
    否则,执行同级别的下一条程序

    while + break :break代表结束本层循环
    while + continue :continue 代表结束本次循环(本次循环continue之后的代码不在运行),
    直接进入下一次循环
    强调:continue一定不要作为循环的最后一步代码


    实现客户登录并实现相关操作

     1 username = 'andy'
     2 password = '123'
     3 tag = True
     4 count=0
     5 while tag:
     6 count += 1
     7 user = input('请输入用户名')
     8 pwd = input('请输入密码')
     9 if user == username and pwd == password:
    10 print('登陆成功')
    11 while tag:
    12 cmd=input("请输入...")
    13 if cmd=='q':
    14 print('正在退出....')
    15 tag=False
    16 else:
    17 print('%s run...'%cmd)
    18 else:
    19 inp = input('登录失败,是否重新登录(Y/N)不区分大小写')
    20 inp=inp.lower()
    21 if inp=='n':
    22 break
    23 else:
    24 if count==3:
    25 print('你已经输错了%s次,强制退出' % count)
    26 tag=False
    View Code



    for 循环 :

    可以不依赖索引而取值
    names=['ouyang','xiaohui','andy','egon']
    for item in names:
    print(item)

    循环输出字典类型
    dic={"name":'ouyang','age':'18','weight':'75'}
    for i in dic:
    print(i,dic(i))

    for vs while
    for 可以不依赖于索引取值,是一种通用的循环取值方式
    for的循环次数是由被循环对象包含的个数决定的,而while的循环次数是由条件决定的



    有序无序+可变和不可变
    1.有序: 但凡有索引的数据都是有序的
    2.可变不可变:
    可变类型:在值变了的情况下,id不变,证明在改原值
    不可变在值变了的情况下,id也跟着变,证明不是在改原值


    数字类型:
    1.用途:记录数据
    2定义方式:变量名=数字类型
    3.常用操作+内置方法

    进制转换:
    十进制转换为其他进制

    print(bin(12))二进制
    print(oct(12)) #14 =>1*(8**1) + 4*(8**0)八进制
    print(hex(16))十六进制
    进制转换(了解**)
    其他进制转成十进制
    二进制:0,1
    10 #1*(2**1) + 0*(2**0)
    十进制:0-9
    371 #3*(10**2) + 7*(10**1) + 1*(10**0)
    八进制:0-7
    371 #3*(8**2) + 7*(8**1) + 1*(8**0)
    十六进制:0-9 A-F
    371 #3*(16**2) + 7*(16**1) + 1*(8**0)



    部分练习

     1 name=input("user")
     2 pwd=int(input('password'))
     3 if name=='ouyang' and pwd==123:
     4     print('登陆成功')
     5 else:
     6     print('登录失败')
     7 
     8 
     9 '''
    10 egon --> 超级管理员
    11 tom  --> 普通管理员
    12 jack,rain --> 业务主管
    13 其他 --> 普通用户
    14 '''
    15 
    16 
    17 print("输入名字查找权限")
    18 name=input("请输入你的名字")
    19 if name=='egon':
    20     print('超级管理员')
    21 elif name=='tom':
    22     print('普通管理员')
    23 elif name=='jack,ran':
    24     print('业务主管')
    25 else:
    26     print('普通用户')
    27 
    28 如果:今天是Monday,那么:上班
    29 如果:今天是Tuesday,那么:上班
    30 如果:今天是Wednesday,那么:上班
    31 如果:今天是Thursday,那么:上班
    32 如果:今天是Friday,那么:上班
    33 如果:今天是Saturday,那么:出去浪
    34 如果:今天是Sunday,那么:出去浪
    35 
    36 mon=input("请输入星期几")
    37 while True:
    38     if mon=='Monday'or mon=='Tuesday' or mon=='Wednesday' or mon=='Thursday' or mon=='Friday':
    39         print('上班')
    40         break
    41     elif mon=='Saturday' or mon=='Sunday':
    42         print('出去浪')
    43         break
    44     else:
    45         print("出错了,请重新输入")
    View Code

  • 相关阅读:
    现在连Linux都搞不懂,当初我要是这么学习操作系统就好了!
    一时技痒,撸了个动态线程池,源码放Github了
    Java线程池ThreadPoolExecutor使用和分析(一)
    canch----1.对缓存的思考
    1.java 内存数据库--H2数据库使用指南
    What’s the difference between persist, save, merge and update? Which one should you use?
    primary key's generator in JPA entity
    STM32F103驱动M24256 256k存储芯片进行读写
    【Proteus+51单片机学习笔记】-51/52系列单片机简介
    【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/9354474.html
Copyright © 2011-2022 走看看