Python学习【day02】- Python基础练习题

时间:2023-02-23 15:10:58
  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)