zoukankan      html  css  js  c++  java
  • python基础练习题

    12月 3 日

    1、使用while循环输入 1 2 3 4 5 6     8 9 10

      

    for i in range(1,10):

      if i == 7: print(" ",end="") else: print("%d "%i,end="")

    2、求1-100的所有数的和

    1 for i in range(1,101):
    2     if i <100 :
    3         j = j+i
    4     else:
    5         print(i+j)

    3、输出 1-100 内的所有奇数,输出 1-100 内的所有偶数

    j = 0
    k = 0
    for i in range(1,101):
        if i%2 == 0:
            j = j+i
        else:
            k = k+i
    print("所有奇数和为%d,偶数和为%d"%(k,j))

    4、求1-2+3-4+5 ... 99的所有数的和

    # 求1-2+3-4+5...99的所有数的和
    def main():
        j = 0
        i = 0
        while i < 100:
            if i%2 == 1:
                j = j+i
            else:
                j = j-i
            i = i+1
        print("1-2+3-4+...+99的和为%d"%j)
    
    
    if __name__ == '__main__':
         main()

    5、用户登陆(三次机会重试)

     1     username = "liuming"
     2     password = 123456
     3     i = 0
     4     while i < 3:
     5         i += 1
     6         user_name = input("请输入你的名称:")
     7         if user_name == username:
     8             pass_word = input("请输入你的密码:")
     9             if int(pass_word) == password:
    10                 print("登录成功")
    11                 break
    12             else:
    13                 print("密码输入错误,请重新输入")
    14             if i == 3:
    15                 print("登录超过3次,请明天再试")
    16         else:
    17             print("用户名不存在")
    18             if i == 3:
    19                 print("登录超过3次,请明天再试")

    12月4日1.判断下列逻辑语句的True和False


     (1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    (2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
     (3) 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4> 6 or 3 <2

    2.求出下列逻辑语句的值
     (1) 8 or 3 and 4 or 2 and 0 or 9 and 7
     (2) 0 or 2 and 3 and 4 or 6 and 0 or 3
     (3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5

    3.下列结果是什么?

     x or y,若x为真,则返回x.若x为假,y为真,则返回y.若x和y都为假,返回y
     x and y,若x为真,y也为真,则返回y.y为假,则返回y.若x为假,则返回x.

     (1) 6 or 2 > 1
     (2) 3 or 2 > 1
    (3) 0 or 5 < 4
    (4) 5 < 4 or 3
     (5) 2 > 1 or 6
     (6) 3 and 2 > 1
     (7) 0 and 3 > 1
     (8) 2 > 1 and 3
    (9) 3 > 1 and 0
    (10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 >2

     4.简述变量命名规范
    """
    变量要以数字、下划线或者字母任意组合,且不能以数字开头;
    不能以关键字命名;
    一般不以中文以及汉字拼音命名;
    常量一般全部是大写;
    命名要有意义,不宜过长。

    """
    5.name = input (">>>")name变量是什么数据类型?
    """
    使用input,从键盘上输入的值都将变为字符串类型。
    """6.if条件语句的基本结构?

    """
    if xxx:

      xxx
    elif xxx:

      xxx
    else:
      xxx
    """
    7.while循环语句基本结构?
    """
    while 条件判断:
    执行语句
    """
    8.计算1-2+3...+99中除了88以外所有数的和?

    i = 1
    sum = 0
    while i < 100:
        if i == 88:
            i += 1
            continue
        elif i%2 != 0:
            sum = sum + i
        else:
            sum = sum - i
        i += 1
    print(sum)

    9.用户登录(3次输错机会)且每次输错误时显示剩余错误次数(使用字符串格式化)

    username = "liuming"
    password = "123456"
    i = 3
    while i>=0:
        name = input("用户名:")
        i -= 1
        if i == 0:
            print("你的机会已经用完")
            break
        if name == username:
            passwd = input("密码:")
            if passwd == password:
                print("登录成功")
            else:
                print("密码错误,请重新输入,你还有%s次机会"%i)
                continue
        else:
            print("用户名错误,请重新输入,你还有%s次机会"%i)

    10.简述 ascii unicode utf-8编码关系?
    """
    ascii 只能显示英文,特殊字符,数字。
    万国码:unicode 最开始16位,中文不够32位 4个字节。占用资源多。
    升级:utf-8 utf-16 utf-32
    utf-8:最少用一个字节,8位表示一个英文。欧洲16位,两个字节。亚洲 24位,三个字节。
    gbk:中国国产,只能用于中文和ascii码中的文字,一个中文用两个字节表示。
    """
    11.简述位和字节的关系?
    """
    位:二进制位(bit)是计算机存储信息的基本单位,代表1个二进制数位,其值为0或1。
    字节:8个连续的二进制位为一个字节,可以存放1个西文字符的编码。

    """
    12."老男孩" 使用utf-8编码占用几个字节?使用gbk编码占用几个字节?
    """
    “老男孩”使用UTF-8编码占用9个字节
    “老男孩”使用GBK编码占用6个字节
    """

    13.制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示 如:敬爱可亲的xxx,最喜欢在什么地方干xxx.
    """

    name = input('请输入姓名:')
    place = input('喜欢的地点:')
    hobby = input('你的爱好:')
    tem = '敬爱可亲的%s,最喜欢在%s地方干%s'%(name, place ,hobby)
    print(tem)

    """

    14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”

    while True:
        msg = input("请输入内容:")
        if msg == "小粉嫩" or msg == "大铁锤":
            print("存在敏感字符,请重新输入")
        else:
            break

    15. 单行注释以及多行注释?

    """
    单行注释:#
    多行注释:""" """
    """

    16. 简述你所知道的Python3和Python2的区别?
    """
    Python2:源码杂而乱,且有重复内容,违背了Python的宗旨。默认编码方式是ASCII码,读取中文时会乱码
    Python3:遵循“优雅,明确,简单”,默认编码方式是utf-8,读取中文时不会乱码
    """

    17. 看代码书写结果:
    """
    a = 1>2 or 4<7 and 8 == 8
    print(a)

    结果:True
    """

    18. continue 和 break 的区别?
    """
    continue:结束本次循环,继续下一次的循环;
    break:直接跳出循环。
    """

    19. 看代码书写结果:
    """
    a = 12 and 127
    print(a)

    结果:127
    """

    12月5日

    1,有变量name = "aleX leNb" 完成如下操作:
    """ title() -->首字母大写,其余小写
    strip() -->删除字母两边的空格 lstrip -->删除左边空格 rstrip -->删除右边空格
    1) 移除name 变量对应的值两边的空格,并输出处理结果
    print(name.strip())
    2) 移除name变量左边的"al"并输出处理结果
    print(name[2:])
    3) 移除name变量右面的"Nb",并输出处理结果
    print(name[0:-2]
    4) 移除name变量开头的a"与最后的"b",并输出处理结果
    print(name[1,-1])
    5) 判断 name 变量是否以 "al" 开头,并输出结果
    if name[0:2] == "al":
    print("yes")
    else:
    print("no")
    6) 判断name变量是否以"Nb"结尾,并输出结果
    使用 name[-2:]
    7) 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
    print(name.replace("l","p"))
    8) 将name变量对应的值中的第一个"l"替换成"p",并输出结果
    print(name.replace("l","p",1))
    9) 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
    print(name.split("l"))
    10) 将name变量对应的值根据第一个"l"分割,并输出结果。
    print(name.split("l",1))
    11) 将 name 变量对应的值变大写,并输出结果
    print(name.upper())
    12) 将 name 变量对应的值变小写,并输出结果
    print(name.lower())
    13) 将name变量对应的值首字母"a"大写,并输出结果
    print(name.capitalize())
    14) 判断name变量对应的值字母"l"出现几次,并输出结果
    print(name.count("l"))
    15) 如果判断name变量对应的值前四位"l"出现几次,并输出结果
    print(name.count("l",0,4))
    16) 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
    print(name.find("N",0,))
    17) 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
    print(name.index("N",0,))
    18) 从name变量对应的值中找到"X le"对应的索引,并输出结果
    print(name.find('X le'))
    19) 请输出 name 变量对应的值的第 2 个字符?
    print(name[1])
    20) 请输出 name 变量对应的值的前 3 个字符?
    print(name[0:3])
    21) 请输出 name 变量对应的值的后 2 个字符?
    print(name[-3:-1])
    22) 请输出 name 变量对应的值中 "e" 所在索引位置?
    print(name.find('e')

    2,有字符串s = "123a4b5c"

    1)通过对s切片形成新的字符串s1,s1 = "123"
    2)通过对s切片形成新的字符串s2,s2 = "a4b"
    3)通过对s切片形成新的字符串s3,s3 = "1345"
    4)通过对s切片形成字符串s4,s4 = "2ab"
    5)通过对s切片形成字符串s5,s5 = "c"
    6)通过对s切片形成字符串s6,s6 = "ba2"
    s = "123a4b5c"
    print(s[0:3])
    print(s[3:6])
    print(s[0::2])
    print(s[1:-1:2])
    print(s[-1:])
    # 这里的-2 是指:从右往左数,
    s6 = s[-3::-2]
    print("s6 = " + s6)

    3,使用while和for循环分别打印字符串s="asdfer"中每个元素。

    s="asdfer"
    for i in s:
    print(i,end=" ")
    j = 0
    while j<len(s):
    print(s[j],end=" ")
    j += 1
    if j == len(s):
    break


    4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。
    for i in s:
    print(i,end="") # end=""不换行且没间隔

    5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。
    for i in s:
    print(i+"sb")
    6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
    s = "321"
    for i in s:
    print("倒计时%s秒" % i)
    if int(i) == 1:
    print("出发")
    break
    7,实现一个整数加法计算器(两个数相加):
    如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。

    content = input("请输入内容:")
    index = content.find("+") #查看+号的索引值,如果没有,返回-1
    k1 = int(content[0:index])
    k2 = int(content[index+1:])
    print(k1+k2)

    8,升级题:实现一个整数加法计算器(多个数相加):
    如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。

    list = input("请输入内容:").split("+")
    sum = 0
    for i in list:
    sum = sum+int(i)
    print(sum)

    9,计算用户输入的内容中有几个整数(以个位数为单位)。
    如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla

    content = input("请输入内容:")
    count = 0
    for i in content:
    if i.isdigit(): #判断i是否为整数
    count += 1
    print(count)

    10、写代码,完成下列需求:
    用户可持续输入(用while循环),用户使用的情况:
    输入A,则显示走大路回家,然后在让用户进一步选择:
    是选择公交车,还是步行?
    选择公交车,显示10分钟到家,并退出整个程序。
    选择步行,显示20分钟到家,并退出整个程序。
    输入B,则显示走小路回家,并退出整个程序。
    输入C,则显示绕道回家,然后在让用户进一步选择:
    是选择游戏厅玩会,还是网吧?
    选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
    选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

    
    

    while True:
      content = input("请输入你要执行的操作:A-走大路,B-走小路,C-绕道回家:")
      if content == "A":
        print("走回去")
        msg = input("请输入你的回家方式,公交车-1,步行-2:")
        if msg == "1":
          print("10分钟到家")
          break
        else:
          print("20分钟到家")
          break
      elif content == "B":
        print("走小路回家")
        break
      elif content == "C":
        print("绕道回家")
        msg_num02 = input("请输入你的选择,游戏厅-2,网吧-1:")
        if msg_num02 == "1":
          print('两个小时到家,妈妈已做好了战斗准备。')
          continue
        else:
          print("一个半小时到家,爸爸在家,拿棍等你。")
          continue
      else:
      print("你输入错误,请重新输入")

     

    习题来自网上找到的老男孩python日常习题,都是我在pycharm上敲的,本人自学,习题会继续更新,接收大家批评教育,谢谢。

  • 相关阅读:
    c# Chart 服务器端动态创建ChartArea
    解决 ASP.NET Chart 控件出错 为 ChartImg.axd 执行子请求时出错
    C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
    JSON和JS对象之间的互转
    MAC OS下使用OpenSSL生成私钥和公钥的方法
    iOS 牛人技术博客分享
    iOS开发之头像裁剪
    iOS开发之使用CALayer封装下载进度条
    iOS开发之使用UIimage+ImageEffects实现图片模糊效果
    我的第一个开源项目(Auditory)
  • 原文地址:https://www.cnblogs.com/yan-xuwei666/p/10068250.html
Copyright © 2011-2022 走看看