zoukankan      html  css  js  c++  java
  • 字符类型

    1、与用户交互
    1、什么是与用户交互
    程序等待用户输入数据,然后程序执行完毕后为用户反馈信息

    2.为什么要与用户交互
    为了和计算机之间像人与人一样沟通无障碍
    3、怎么用
    python3 input
    python2 raw_input

    在python中 计算机会将用户输入的一切都转化为字符串格式


    2、格式化输出
    1、print("my name is %s,我的年龄是%s"%s('ouyang',21))
    1、print("my name is %s,我的年龄是%d"%s('ouyang',21))
    %s 可以表示任何数据类型,但是%d只能表示整型(int)

    3、数据类型之数字类型(int和float)
    1、int整型,记录年龄,QQ号,手机号等带有整数的类型数字或者数字集
    如:age='18' num = '666'

    2、 float(浮点型)记录身高,工资,等带有小数的一个数据类型
    salary='3.1 inp=4.222

    4、 数据类型之字符串类型(str)
    作用:记录描述性质的数据,比如人的名字,性别,家庭住址。。。
    定义:用单引号,双引号或三引号将一串字符囊括起来,如:name='ouyang'
    name='ouyang'
    print(type(ouyang))

    1、强调:字符串可以进行运算
    name='ouyang'
    age='18'
    print(name+age)
    2、字符串相加是申请内存空间然后拷贝想家的字符串到新的空间中,效率不高
    3、字符串可以进行乘法运算
    print('ouyang'*10)

    5、 列表类型:list
    作用:可以记录/存在多个值,可以很方便地取出来指定位置的值,比如自己的爱好,一堆学生的名字
    定义: 在[]中用逗号分隔开的多个任意类型的值
    li=[1,2,'ouyang',[1,2,3,],]
    print(li[2])
    print(li[3][1])

    使用:
    hobbies="read music sleep eat play"
    hobbies=["read","music","sleep","eat","play"]
    print(hobbies[2])

    6、字典类型dict

    作用:记录多个key:value 值,优势是每一个值value都有其对应关系/映射的key,
    而key对value有描述性的作用
    定义:在{}内用逗号分隔的多个key:value元素,其中value可以是任意类型,但key通常是字符串类型
    info={'name':'ouyang','sex':"man",'age':18}
    print(type(info))
    print(info['age'])

    7、布尔类型 (bool)
    作用:用来作为判断的条件去用
    tag = True
    tes = False
    print(type(tag),type(tes))

    通过判断去得到布尔值
    print(age > 20)
    print(age >= 20)

    age=18
    ==比较的是值
    print(age == 18)
    is:比较的是id是否相等
    强调:id相等值一定相等,id不等但是值仍然可以相等


    tag=True
    print(id(tag))

    res=3 > 1
    print(id(res))

    res2=1 < 10
    print(id(res))
      1 #!/usr/bin/env python
      2 # -*- coding:utf-8 -*-
      3 
      4 # while 循环练习题
      5 #1. 使用while循环输出1 2 3 4 5 6     8 9 10
      6 """
      7 i = 0
      8 while i < 10:
      9     i +=1
     10     if i == 7:
     11         print(" ")
     12         i+=1
     13     print(i)
     14     """
     15 #2. 求1-100的所有数的和
     16 """
     17 i = 0
     18 sum = 0
     19 while i<100:
     20     i+=1
     21     sum = sum +i
     22 print(sum)
     23 """
     24 #3. 输出 1-100 内的所有奇数
     25 """
     26 i = 0
     27 while i < 100:
     28     i +=1
     29     if i %2 == 1:
     30         print(i)
     31 """
     32 #4. 输出 1-100 内的所有偶数
     33 """
     34 i = 0
     35 while i < 100:
     36     i +=1
     37     if i %2 == 0:
     38         print(i)
     39 """
     40 #5. 求1-2+3-4+5 ... 99的所有数的和
     41 """
     42 i = 0
     43 sum = 0
     44 while i<100:
     45     i+=1
     46     if i%2 ==0:
     47         sum = sum-i
     48     else:
     49         sum = sum +i
     50 
     51 print(sum)
     52      """
     53 #6. 用户登陆(三次机会重试)
     54 """
     55 
     56 i = 0
     57 while i<3:
     58     i +=1
     59     print('这是第%s次'%i)
     60     name = input("请输入用户名:")
     61     pwd = input("请输入密码:")
     62 """
     63 #7:猜年龄游戏
     64 # 要求:
     65 #     允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
     66 """
     67 age = '21'
     68 for i in range(1,4):
     69 
     70     print("这是第%s次"%i)
     71     inp = input("请输入数字:")
     72     if inp > age:
     73         print('大了大了')
     74     elif inp < age:
     75         print("小了小了")
     76 
     77     else:
     78         print("恭喜你,答对了")
     79 
     80 """
     81 
     82 
     83 
     84 #8:猜年龄游戏升级版
     85 # 要求:
     86 #     允许用户最多尝试3次
     87 #     每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
     88 #     如何猜对了,就直接退出
     89 """
     90 age = '21'
     91 i = 0
     92 while True:
     93     if i == 3:
     94         wq = input("要不要退出(Y/y)")
     95         if wq == 'Y' or wq == 'y':
     96             print('很遗憾,程序退出')
     97             break
     98         else:
     99             i = 0
    100     inp = input("请输入数字:")
    101     if inp > age:
    102         print('大了大了')
    103     elif inp < age:
    104         print("小了小了")
    105 
    106     else:
    107         print("恭喜你,答对了")
    108         break
    109     i  +=1
    110 """
    111 
    112 # 九九乘法表
    113 """
    114 for i in range(1,10):
    115     for j in range(1,i+1):
    116         print('%s*%s=%s'%(i,j,i*j),end=' ')
    117     print()
    118 """
    119 
    120 # 打印金字塔
    121 """
    122 层数 num = 5
    123 space = num - cen 
    124 星号 stat = cen*2 -1
    125 """
    126 """
    127 num = 5
    128 for cen in range(1,num+1):
    129     for j in range(num - cen):
    130         print(' ',end='')
    131     for k in range(cen*2-1):
    132         print('*',end='')
    133     print()
    134 """
    135 cen = 5
    136 for i in range(1,cen+1):
    137     for j in range(cen-i):
    138         print(" ",end='')
    139     for k in range(i*2-1):
    140         print('*',end='')
    141     print()
    142 
    143     十七,作业
    144     http://www.cnblogs.com/linhaifeng/articles/7133167.html
    145     
    146 1 练习题
    147 
    148 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
    149 执行 Python 脚本的两种方式是什么
    150 Pyhton 单行注释和多行注释分别用什么?
    151 布尔值分别有什么?
    152 声明变量注意事项有那些?
    153 如何查看变量在内存中的地址?
    154 写代码
    155 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
    156 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    157 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    158 写代码
    159 a. 使用while循环实现输出2-3+4-5+6...+100 的和
    160 b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数
    161 
    162 e. 使用 while 循环实现输出 1-100 内的所有偶数
    163 
    164 现有如下两个变量,请简述 n1 和 n2 是什么关系?
    165 
    166       n1 = 123456
    167       n2 = n1
    168       
    169       
    170       
    171 答***********答*****************答**************答********172 
    173 1、编译型与解释型语言:
    174     区别:编译型语言的执行效率比解释型语言高,但是开发效率比解释型语言低
    175     编译型:C语言,c++,C#,java,
    176     解释型:Python/JavaScript / Perl /Shell
    177     
    178 2、执行Python脚本的两种方式是什么?
    179     通过终端进行交互
    180     通过python脚本解释器进行操作
    181 182         1、./run.py.shell直接调用python脚本
    183 
    184         2、python run.py 调用python 解释器来调用python脚本
    185 186     
    187 
    188 3、Python单行注释和多行注释分别用 # 和""" 注释内容   """
    189 
    190 4、布尔值分别有 None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
    191 
    192 5、声明变量注意事项有哪些 
    193         1、变量名只能是数字,字母,下划线的任意组合(区分大小写)
    194         2、变量的开头不能是数字
    195         3、不能将变量命名为Python的关键字
    196         
    197 6、如何查看变量在内存中的地址:
    198     name = ouyang
    199     id(name)
    200     
    201 7、写代码
    202     1、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,
    203     显示登陆成功,否则登陆失败!
    204         
    205         naem = input("请输入用户名:")
    206         pwd = input("请输入密码:")
    207         if name == seven and pwd == '123':
    208             print("登陆成功")
    209         else:
    210             print("登陆失败")
    211             
    212     2、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,
    213     显示登陆成功,否则登陆失败,失败时允许重复输入三次
    214         
    215         name = input("请输入用户名:")
    216         pwd = input("请输入密码:")
    217         if name == "seven" and pwd == '123':
    218             print("登陆成功")
    219         else:
    220             print("登陆失败")
    221             i = 0
    222             while i < 3:
    223                 i+=1
    224                 print("This is number %s"%i)
    225 
    226                 name = input("请输入用户名:")
    227                 pwd = input("请输入密码:")
    228                 if name == "seven" and pwd == '123':
    229                     print("登陆成功")
    230                     break
    231                 else:
    232                     print("登陆失败")
    233             
    234     3、实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123235     ,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    236             name = input("请输入用户名:")
    237             pwd = input("请输入密码:")
    238             if name == "seven"or name == 'alex' and pwd == '123':
    239                 print("登陆成功")
    240             else:
    241                 print("登陆失败")
    242                 i = 0
    243                 while i < 3:
    244                     i+=1
    245                     print("This is number %s"%i)
    246 
    247                     name = input("请输入用户名:")
    248                     pwd = input("请输入密码:")
    249                     if name == "seven" and pwd == '123':
    250                         print("登陆成功")
    251                         break
    252                     else:
    253                         print("登陆失败")
    254                     
    255                     
    256         
    257         
    258 8、a. 使用while循环实现输出2-3+4-5+6...+100 的和
    259         i = 1
    260         sum = 0
    261         while i < 100:
    262             i +=1
    263             if i%2 == 0:
    264                 sum =sum +i
    265             else:
    266                 sum -= i
    267         print(sum)
    268     b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
    269     
    270             i = 0
    271             while i <12:
    272                 i +=1
    273                 if i == 6 or i == 10:
    274                     print(" ")
    275                     continue
    276                 else:
    277                     print(i)
    278     使用 while 循环实现输出 1-100 内的所有奇数
    279             i = 0
    280             while i<100:
    281                 i+=1
    282                 if i%2 == 1:
    283                     print(i)
    284                     
    285     e. 使用 while 循环实现输出 1-100 内的所有偶数
    286             i = 0
    287             while i<100:
    288                 
    289                 if i%2 == 0:
    290                     print(i)
    291                 i+=1    
    292 
    293 9、            现有如下两个变量,请简述 n1 和 n2 是什么关系?
    294 
    295       n1 = 123456
    296       n2 = n1
    297       
    298       n1和 n2 有相同的id地址 那么type和value也必然相同
    299       
    300       
    301           
    302 
    303             
    304         
    305         
    306 答***********答*****************答**************答********307     
    308     
    309 2 作业:编写登陆接口
    310 
    311 基础需求:
    312     让用户输入用户名密码
    313     认证成功后显示欢迎信息
    314     输错三次后退出程序
    315     
    316 dic={
    317     'egon1':{'password':'123','count':0},
    318     'egon2':{'password':'123','count':0},
    319     'egon3':{'password':'123','count':0},
    320 
    321 }
    322 while True:
    323     name = input("请输入用户名")
    324     if not name in dic:
    325         print("用户名不存在")
    326         continue
    327     if dic[name]['count'] > 2:
    328         print("操作次数过多,退线")
    329         continue
    330     pwd = input("请输入密码")
    331     if dic[name]['password'] == pwd:
    332         print("登陆成功")
    333         break
    334 
    335     else:
    336         print("用户或密码名错误")
    337         dic[name]['count'] +=1
    338 
    339     
    340     
    341 升级需求:
    342 
    343 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    344 用户3次认证失败后,退出程序,再次启动程序尝试登录时,
    345 还是锁定状态(提示:需把用户锁定的状态存到文件里)
    346     
    347     dic={
    348     'egon1':{'password':'123','count':0},
    349     'egon2':{'password':'123','count':0},
    350     'egon3':{'password':'123','count':0},
    351 
    352 }
    353 
    354 
    355 tage = 0
    356 while True:
    357     name = input("user")
    358     if not name in dic:
    359         print("用户不存在")
    360         with open('t1','r+',encoding= 'utf-8') as f:
    361             line = f.read().split('|')
    362             if name in line:
    363                 print("已锁定")
    364                 break
    365     if dic[name]['count'] >2:
    366         print("已退线")
    367         continue
    368     pwd = input("password")
    369     if pwd == dic[name]['password']:
    370         print("登陆成功")
    371         break
    372     else:
    373         print("密码名错误")
    374         dic[name]['count'] +=1
    375 
    376 
    377     
    378     
    379     
    作业
    九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print("%s*%s=%s"%(i,j,i*j),end=' ')
        print()
    
    
    
    import random
    a = random.randrange(1,7)
    print(a)
    
    
    金字塔
    
       *
      ***  2n-1
     *****
    *******
    *********
    
    zongceng=5   cen  个数=cen*2-1   空格数=zongcen-cen
    zongcen = 5
    for i in range(1,zongcen+1):
        for j in range(zongcen-i):
            print(' ',end='')
        for k in range(i*2-1):
            print('*',end='')
        print('    ')


    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入
    则要求用户重新输入 



    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    good = []

    for key,vlaue in msg_dic.items():
    print(key,vlaue)
    tag=True
    while tag:
    name=input("请输入商品名")
    if name == ' 'or not name in msg_dic:
    print("请重新输入")
    continue
    num=input("请输入个数")
    if num ==' ' or not num.isdigit():
    print("请重新输入")
    continue
    good.append((name,msg_dic[name],num))
    while True:
    wen=input("是否再来一次(yes/no)不区分大小写")
    wen_l=wen.lower()
    if wen_l=='yes':
    break
    elif wen_l=='no':
    tag=False
    break
    else:
    print("你输入不正确,请重新输入")
    print(good)





  • 相关阅读:
    Largest Rectangle in Histogram, 求矩形图中最大的长方形面积
    MergeSortedArray,合并两个有序的数组
    Remove Duplicates from Sorted List ,除去链表中相邻的重复元素
    Word Search, 在矩阵中寻找字符串,回溯算法
    SubSets,SubSets2, 求数组所有子集
    Longest Substring Without Repeating Characters,求没有重复字符的最长字串
    Minimum Window Substring, 包含子串的最小窗口,双指针
    Sort Colors,颜色排序
    Search a 2D Matrix,在有序矩阵查找,二分查找的变形; 行有序,列有序查找。
    EditDistance,求两个字符串最小编辑距离,动态规划
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/9341187.html
Copyright © 2011-2022 走看看