Python学习【day02】- Python基础练习题
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 # 执行Python 脚本的两种方式 5 # 答:①在windows的cmd窗口下 > D:/Python/python.exe D:/ex.py 6 # ②配置环境变量后,在ide编辑器下直接运行 7 8 # 简述位、字节的关系 9 # 答:一个字节byte是八位bit 10 11 # 简述 ascii、unicode、utf-8、gbk 的关系 12 # 答:ascii只能正确识别英文,对中文无法识别,8位 13 # unicode俗称万国码,最少是16位,可以识别中文,但是若为一个英文字母浪费空间,中文占2个字节 14 # utf-8根据字符的实际占用空间,中文占3个字节 15 # gbk可识别中文,国内自己的编码 16 17 # 请写出"李杰"分别用utf-8和gbk编码所占的位数 18 # 答:一个中文utf-8占3个字节24位,gbk占2个字节16位 19 # 李杰 utf-8占48位、gbk占32位 20 21 # Pyhton 单行注释和多行注释分别用什么 22 # 答:单行注释>'#XXXXXX',多行注释>' """XXXXXX""" ' 23 24 # 声明变量注意事项有那些 25 # 答:数字、字母、下划线组成,且不可以数字开头,不要用关键字、内部函数名 26 27 # 如有一个变量n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示 28 n1 = 5 29 v1 = n1.bit_length() 30 print(v1) 31 32 # 布尔值分别有什么 33 # 答:True和False,逻辑判断 34 35 # 阅读代码,请写出执行结果 36 # 37 # a = "alex" 38 # b = a.capitalize() #首字母大写 39 # print(a) 40 # print(b) 41 # 请写出输出结果:alex Alex 42 43 # 写代码,有如下变量,请按照要求实现每个功能 44 # name = " aleX" 45 name = " aleX" 46 # a. 移除 name 变量对应的值两边的空格,并输入移除后的内容 47 v1 = name.strip() 48 print(v1) 49 # b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果 50 v1 = name.startswith("al") 51 print(v1) 52 # c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 53 v1 = name.endswith("X") 54 print(v1) 55 # d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 56 v1 = name.replace("l", "p") 57 print(v1) 58 # e. 将 name 变量对应的值根据 “l” 分割,并输出结果 59 v1 = name.split("l") 60 print(v1) 61 # f. 请问,上一题 e 分割之后得到值是什么类型(可选) 62 t = type(v1) 63 print(t) 64 # g. 将 name 变量对应的值变大写,并输出结果 65 v1 = name.upper() 66 print(v1) 67 # h. 将 name 变量对应的值变小写,并输出结果 68 v1 = name.lower() 69 print(v1) 70 # i. 请输出 name 变量对应的值的第 2 个字符? 71 print(name[1]) 72 # j. 请输出 name 变量对应的值的前 3 个字符? 73 print(name[0:3]) 74 # k. 请输出 name 变量对应的值的后 2 个字符? 75 print(name[len(name) - 2], name[len(name) - 1]) 76 # l. 请输出 name 变量对应的值中 “e” 所在索引位置? 77 v1 = name.find("e") 78 print(v1) 79 # m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo 80 print(name[0:len(name)-1]) 81 82 # 21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素? 83 for s in name : 84 print(s) 85 86 # 22、请用代码实现: 87 # a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain" 88 li = "alexericrain" 89 v1 = "_".join(li) 90 print(v1) 91 # b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选) 92 li = ['alex', 'eric', 'rain'] 93 v1 = "_".join(li) 94 print(v1) 95 96 # Python2 中的 range 和 Python3 中的 range 的区别? 97 # 答:Python2 Python3中range自动增加可设置范围和步长 98 99 # 24、实现一个整数加法计算器: 100 # 如: 101 # content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9 102 """ 103 content = input("请输入内容:") 104 v1 = content.split("+") 105 print(v1) 106 s = 0 107 for v in v1 : 108 vv = int(v) 109 s += vv 110 print(s) 111 """ 112 113 # 25、计算用户输入的内容中有几个十进制整数?几个字母? 114 # 如: 115 # content = input('请输入内容:') # 如:asduiaf878123-¥jkjsfd213928 116 """ 117 content = input("请输入内容:") 118 intS = 0 119 charS = 0 120 for c in content : 121 if c.isdigit() : 122 intS += 1 123 continue 124 if c.isalpha() : 125 charS += 1 126 print(intS, charS) 127 """ 128 129 # 26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系? 130 # 答:9是int的一个具体实例,"xxoo"是str类型的具体实例 131 132 # 27、制作趣味模板程序 133 # 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 134 # 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx 135 """ 136 name = input("姓名:") 137 addr = input("地点:") 138 like = input("爱好:") 139 print(name, "喜欢在", addr, like) 140 """ 141 142 # 28、制作随机验证码,不区分大小写。 143 # 流程: 144 # -‐ 用户执行程序 145 # -‐ 给用户显示需要输入的验证码 146 # -‐ 用户输入的值 147 # 用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入 148 # 生成随机验证码代码示例: 149 """ 150 def check_code() : 151 import random 152 checkCode = "" 153 for i in range(4) : 154 current = random.randrange(0, 4) 155 if current != i : 156 temp = chr(random.randint(65, 90)) 157 else : 158 temp = random.randint(0, 9) 159 checkCode += str(temp) 160 return checkCode 161 while True : 162 code = check_code() 163 content = input("请输入验证码(" + code + "):") 164 if code == content : 165 break 166 print("success") 167 """ 168 169 # 29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符: 170 # 如 "苍老师" "东京热",则将内容替换为 *** 171 """ 172 content = input("请输入:") 173 c = "" 174 if content.find("苍老师") != -1: 175 c = content.replace("苍老师", "***") 176 print(c) 177 """ 178 179 # 30、制作表格 180 # 循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效) 181 # 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐 182 s = "name\tpassword\temail\n" 183 while True : 184 name = input("请输入用户名(不可超过20个字符,若超过只取前20个):") 185 if name == "q" or name == "Q" : 186 break 187 name = name[0:20] 188 password = input("请输入密码(不可超过20个字符,若超过只取前20个):") 189 password = password[0:20] 190 email = input("请输入邮箱(不可超过20个字符,若超过只取前20个):") 191 email = email[0:20] 192 s += (name + "\t" + password + "\t" + email + "\n") 193 ss = s.expandtabs(20) 194 print(ss)