zoukankan      html  css  js  c++  java
  • 4. 与用户交互

    一:什么是交互?

    交互就是人和计算机互动,人输入信息,计算机获取后,输出信息给人,循环往复的这个过程,就是交互。

    二:为什么要交互?

    为了让计算机可以和人一样沟通,要操控计算机就是通过这种可以交互的性质。

    三:怎么交互?

    1.输入

    在Python3中:

    • input会将用户输入的所有内容都存成字符串类型
    username = input("请输入您的账号:")  # "egon"
    print(username, type(username))
    
    
    age = input("请输入的你的年龄: ")  # age="18"
    print(age, type(age))
    age=int(age)    # int只能将纯数字的字符串转成整型
    print(age > 16)
    

    在python2中:

    • raw_input():用法与python3的input一模一样
    • input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型
     >>> age=input(">>>>>>>>>>>>>>>>>>>>>: ")
     >>>>>>>>>>>>>>>>>>>>>: 18
     >>> age,type(age)
     (18, <type 'int'>)
        
    
     >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
     >>>>>>>>>>>>>>>>>>>>>: 1.3
     >>> x,type(x)
     (1.3, <type 'float'>)
    
    
     >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
     >>>>>>>>>>>>>>>>>>>>>: [1,2,3]
     >>> x,type(x)
     ([1, 2, 3], <type 'list'>)
     >>>
    

    2.输出

    字符串的格式化输出

    2.1 %

    • 值 按照位置与 %s 一 一对应,少一个不行,多一个也不行
    res="my name is %s my age is %s" %('egon',"18")
    res="my name is %s my age is %s" %("18",'egon')
    res="my name is %s" %"egon"
    print(res)
    
    • 以字典的形式传值,打破位置的限制
    res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'}
    print(res)
    
    • %s可以接收任意类型
    print('my age is %s' %18)
    print('my age is %s' %[1,23])
    print('my age is %s' %{'a':333})
    
    print('my age is %d' %18) # %d只能接收int
    print('my age is %d' %"18")
    

    2.2 str.format:兼容性好

    # 按照位置传值
    res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
    print(res)
    
    res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
    print(res)
    
    # 打破位置的限制,按照key=value传值
    res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')
    print(res)
    

    2.3 了解的知识

    填充与格式化

    # 填充与格式化
    # 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
    
    # *<10:左对齐,总共10个字符,不够的用*号填充
    print('{0:*<10}'.format('开始执行'))     # 开始执行******
    
    # *>10:右对齐,总共10个字符,不够的用*号填充
    print('{0:*>10}'.format('开始执行'))     # ******开始执行
    
    # *^10:居中显示,总共10个字符,不够的用*号填充
    print('{0:*^10}'.format('开始执行'))    # ***开始执行***
    

    精度与进制

    # 精度与进制
    
    print('{salary:.3f}'.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
    print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
    print('{0:o}'.format(9))  # 转成八进制,结果为:11
    print('{0:x}'.format(15))  # 转成十六进制,结果为:f
    print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931
    

    2.4 f //python3.5以后才推出

    x = input('your name: ')
    y = input('your age: ')
    res = f'我的名字是{x} 我的年龄是{y}'
    print(res)
    
    x='egon'
    y=18
    res=f'name{{{x}}} age{y} '   # 输出{} 
    print(res)   # name{egon} age18 
    
    # f 的新用法:{}内的字符串可以被当作表达式运行   //了解
    ref=f'{ 10+3 }'
    print(res) # 13
    
    
    
  • 相关阅读:
    2014.7建兰NOIP模拟Day1 Running
    简单的数论函数模板
    二分图匹配的匈牙利算法
    手算平方根
    ...
    hdu 5396 Expression(区间DP+组合数)
    hdu 5693 D Game(区间DP)
    hdu 5151 Sit sit sit(区间dp+排列组合)
    hdu 4570 Multi-bit Trie(dp)
    hdu 2855 Fibonacci Check-up (矩阵)
  • 原文地址:https://www.cnblogs.com/j-chao/p/12955350.html
Copyright © 2011-2022 走看看