• python杂写


    一:用户交互

    与用户交互主要使用input,这里需要说明三点:

    1:input会等待用户输入

    2:会将输入的内容赋值给变量

    3:input出的变量都是字符串类型(str)

    例子1:注意,因为input输出的字符串,所以可以做拼接

    name=input("你的名字:")
    age=input("你的年龄:")
    print("你叫"+name,"年龄是"+age+"")

    二:if 循环

    三:while 循环

    示例1:计算 1-2+3.。。。99除了88意外所有数的和

    分析:遇到奇数则相加,遇到偶数则相减,88不做运算

    count = 0
    sum=0
    while count < 99:
        count +=1
        if count %2 == 0:
            if count == 88:continue
            sum -=count
        else:
            sum +=count
    print(sum)

    while else

    用途: 当while循环不被break打断,正常完成循环的时候,会走else,如果被else打断,则不执行else

    count = 0
    while count <=5:
        count +=1
        if count == 3:break
        print(count)
    else:
        print("循环正常执行")
    count = 0
    while count <=5:
        count +=1
        if count == 3:pass
        print(count)
    else:
        print("循环正常执行")

    四: 格式化输出

    4.1  %s/d

    格式化输出用到了format关键字和 %s %d

    % 指占位符

    s 指需要替换的字符串

    d 指需要替换的数字

    通过跟用户进行交互,对用户输入进行格式化输出

     用法:在需要格式化的字符串后 空格%(与用户交互的变量,使用逗号分隔)

    注意:严格按照占位符的位置,有几个占位符就传几个值,并且是按照顺序传

    下面是示例

     1 name = input("姓名:")
     2 age = int(input("年龄:"))
     3 height= int(input("身高:"))
     4 
     5 msg = '''
     6 -------- Info of %s --------
     7 Name: %s
     8 Age: %d 
     9 Height: %d
    10 ''' %(name,name,age,height)
    View Code

    当我们输出得内容里有%,就是说%并不是占位符,而是一个普普通通的%的时候,就需要在之前的%前面再加一个%,前面的%相当于转义效果,后面的才是真正的%

     1 name = input("姓名:")
     2 age = int(input("年龄:"))
     3 height = int(input("身高:"))
     4 
     5 msg = '''
     6 -------- Info of %s ---------
     7 姓名:%s
     8 年龄:%d岁
     9 身高:%dcm
    10 满意度:%%80
    11 ''' %(name,name,age,height)
    12 
    13 print(msg)

    例子1: 用户登录三次,且每次输错时显示剩余错误次数,(使用字符串格式化)

    user_name = 'wangys'
    user_passwd = '123'
    
    count = 0
    while count < 3:
        name=input("请输入姓名:")
        passwd = input("请输入密码:")
        count +=1
        if name == user_name and passwd==user_passwd:
            print("Login Sucess")
            break
        else:
            print("登录失败,您还剩余%s次登录机会" %(3-count))

     4.2  format(推荐使用)

    name = input("姓名:")
    age = int(input("年龄:"))
    height = int(input("身高:"))
     
    msg = '''
    -------- Info of {name} ---------
    姓名:{name}
    年龄:{age}岁
    身高:{height}cm
    满意度:%%80
    '''.format(name=name,age=age,height=height)
    
    print(msg)

    五:逻辑运算

    and : 且

    or : 或

    not : 非

    优先级: ()> not > and > or 

    print(3>4 or 4<3 and 1==1)
    print(2 >1 and 3 < 4 or 4 > 5 and 2 < 1)
    print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
    print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    #  int类型>>跟布尔值的转换
    # 0 -----------False
    # 非0 ----------True

    # 布尔值--------init
    print(bool(True)) # 1 print(bool(False)) # 0 # x or y 若x为真 值为x print(1 or 2) print(2 or 1000) print(0 or 100)
  • 相关阅读:
    [USACO15JAN]草鉴定Grass Cownoisseur (分层图,最长路,$Tarjan$)
    P1558 色板游戏 (线段树)
    [Vani有约会]雨天的尾巴 (线段树合并)
    UVA11806 Cheerleaders (容斥)
    [JSOI2007]建筑抢修 (贪心)
    [POI2015]KIN (线段树)
    [六省联考2017]组合数问题 (矩阵优化$dp$)
    [BZOJ2957] 楼房重建 (线段树,递归)
    [USACO Section 5.3]量取牛奶 Milk Measuring (动态规划,背包$dp$)
    P2647 最大收益 (动态规划)
  • 原文地址:https://www.cnblogs.com/wc89/p/10140305.html
Copyright © 2020-2023  润新知