DAY .1
1、使用while循环输出 1 2 3 4 5 6 8 9 10
n = 1 while n < 11: if n == 7: pass else: print(n) n = n + 1 print("------end------")
2、求1-100的所有数的和
n = 1 s = 0 while n < 101: s = s + n n = n + 1 print(s)
3、输出 1-100 内的所有奇数
n = 1 while n < 101: temp=n % 2 if temp == 0: pass else: print(n) n = n+1 print('-----end----')
4、输出 1-100 内的所有偶数
n = 1 while n <101: temp = n % 2 if temp ==0: print(n) else: pass n = n + 1 print('-----end-----')
5、求1-2+3-4+5 ... 99的所有数的和
n = 1 s = 0 while n <100: temp = n % 2 if temp == 0: s = s - n else: s = s+n n = n + 1 print(s)
6、用户登陆(三次机会重试)
count = 0 while count < 3: user_name = input('name:') user_passwd = input('password:') if user_name == 'baier' and user_passwd == 'beautiful': print('登陆成功') break else: print('密码或用户名错误') count += 1 if count < 3: print('请尝试重新输入') else: print('您的输入次数已用完') print('------------end--------------')
7. 从一个列表中每次取出两个,找出所有组合方式
List = [1, 2, 3, 4, 5] length = len(List) for x in range(0, length-1): for y in range(x+1, length): print(List[x], List[y])
DAY.3
1.执行Python脚本的两种方式
/. a.py 通过在文件头写入python解释器路径直接执行
python a.py 通过直接调用python解释器执行
2.简述位、字节的关系。
8位(bit)组成一个字节(byte)
计算机存储通常以位存储 处理时通常以字节来处理
3.简述ascii、unicode、utf-8、gbk编码的关系。
ASCII:用于英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。无法将所有中文都概括。
unicode: 万国码,规定字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,能表示世界上所有的符号和字符语言。
utf-8:对unicode的压缩和优化版。不再是最少用两个字节,而是取最优策略,既能都表示有节省空间。
gbk:仅限于中文字符(简体与繁体),比utf-8的占用空间小
4.请写出 “李杰” 分别用utf-8和 gbk 编码所占的位数
utf-8: 2*3*8 =48
gbk: 2*2*8 = 32
5.Python单行注释和多行注释分别用什么?
单行: #
多行: ''' ''' 或 """ """
6.声明变量注意事项有哪些?
变量名只能用数字、字幕、下划线组成且首字母不能为数字
变量名最好不要与python的关键字等内置的东西重名
多单词组合的变量名用下划线链接
7.如有一个变量 n1=5,请用int提供的方法,得到该变量最少可以用多少个二进制位表示?
bit_length
n1 = bin(5) print(n1)
0b101 #(0b表示二进制)
8.布尔值分别有什么?
Ture 对应1 字符串里对应非空(有空格也是真' ')
Flash 对应0 字符串里的空字符串 ''
a ='sdfs' b = bool(a) print(b)
True
9.阅读代码执行结果
a = 'alex' b =a.capitalize() print(a) print(b
输出结果:
alex Alex
10.写代码,有如下变量,请按照要求实现每个功能 name='aleX'
a.移除name变量对应的值两边的空格,并输出移除后的内容
print(name.strip())
b.判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith('al'))
c.判断name变量对应的值是否以'X'结尾,并输出结果
print(name.endswith('X'))
d.将name变量对应的值中的"l"替换成"p",并输出结果
print(name.replace('l', 'p'))
e.将name变量对应的值根据"l"分割,并输出结果
print(name.split('l'))
f.请问上一题e分割之后得到的值是什么类型?
列表
g.将name变量对应的值变大写,并输出结果
print(name.upper())
h.将name变量对应的值变小写,并输出结果
print(name.lower())
i.请输出name变量对应的值的第二个字符。
print(name[1])
j.请输出name变量对应的值前三个字符
print(name[0:3])
k.请输出name变量对应的值的后2个字符
print(name[-2:])
l.请输出ame变量对应的值中"e"所在索引位置
print(name.index('e'))
m.获取子序列,不仅包含最后一个字符,如:oldboy则获取oldbo;root则获取roo
print(name[:-1])
11.字符串是否可迭代对象?如可以请使用for循环每一个元素
是 name = 'hello' for i in name: print(i) -----> h e l l o
12.请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串,li - "alexericrain"
li = "alexericrain" print('_'.join(li)) -----> a_l_e_x_e_r_i_c_r_a_i_n
b.利用下划线将列表的每一个元素拼接成字符串,li - ['alex', 'eric', 'rain']
li = ['alex', 'eric', 'rain'] print('_'.join(li) -----> alex_eric_rain
13.python2中的range和python3中的range的区别?
python2:
range 立即创建
xrange for循环时才一个一个创建
pythin3:
range for循环时才一个一个创建
14.实现一个整数加法计算器:
如:
content = input("请输入内容:") # 如: 5+9 或 5+ 9 或 5 + 9
content = input('请输入内容(如5+9或5+ 9或5+9 ):') li = content.split(' ') s = int(li[0])*int(li[2]) print(s) -----> 请输入内容(如5+9或5+ 9或5+9 ):5 + 9 45
或
value =input('请输入加法操作:') v1, v2 = value.split('+') v1 = int(v1) v2 = int(v2) v = v1+v2 print(v)
请输入加法操作:5+ 9 14
15.计算用户输入的内容中有几个十进制数?几个字母?
如:
content = input("请输入内容:") # 如 dfsdfsdf54554sdfsf-615
content = input('请输入内容:') n = 0 b = 0 li = list(content) for i in li: if i.isdigit(): # 判断是否是数字 n += 1 elif i.isalpha(): # 判断是否是字母 b += 1 else: pass print("数字个数:" + str(n), "字母个数:" + str(b)) -----> 请输入内容:asdfgh-95+ 数字个数:2 字母个数:6
16.简述int和9等数字,str和"xxoo"等字符串的关系
类和对象的关系
17.制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户名字爱好任意实现
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx
name = input("名字:") ad = input("地点") love = input('爱好') print('敬爱的'+name+'最喜欢在'+ad+'这种地方'+love) -------> 名字:小五 地点优衣库 爱好购物 敬爱的小五最喜欢在优衣库这种地方购物
或者
temp = '敬爱可爱的{0},最喜欢在{1}地方干{2}' name = input('name:') ad = input('ad:') do = input('do:') temp = temp.format(name, ad, do) print(temp)
name:lcg ad:海边 do:基友 敬爱可爱的lcg,最喜欢在海边地方干基友
18.开发敏感词语过滤程序
提示用户输入内容,如果用户输入的内容中包含特殊字符如"苍老师" "东京热",则将内容替换为***
li = ['苍老师', '搞基', '东京热', '色情'] i = input('请输入内容:') for v in li: if v in i : i = i.replace(v, '***') else: pass print(i) -------> 请输入内容:爱搞基的小五经常浏览色情网站 爱***的小五经常浏览***网站
19.制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个有效)
如果用户输入q或Q表示不再继续输入,将用户的内容以表格的形式打印。
分页显示
li = [] for i in range(0,301): temp = {'name': 'lcg'+str(i), 'email': 'lcg@lc.com'+str(i), 'pwd': '123456'+str(i)} li.append(temp) falg = True while falg: page = input('输入1-301页码或按q退出') if page == 'q': falg = False break else: page = int(page) start = (page-1)*10 end = page*10 result = li[start:end] print(result)
三级菜单 (初级版,垃圾版)
city = {"北京": {"朝阳": ["大望路","国贸"], "昌平": ["沙河", "昌平"]}, "河北": {"张家口": ["沙城", "宣化"], "石家庄": ["某某路", "某某街"]} } go = True while go: for i in city.keys(): print(i) choice = input('选择添加省请按a/A,进入省请按i/I ,选择退出程序请按q/Q,\n>>>') choice = choice.lower() if choice == 'q': break elif choice == 'a': add_sheng = input('请输入您要添加的省') city[add_sheng] = {} print('添加成功!') elif choice == 'i': shi = input('请您输入以上您要进的省名称') if shi not in city.keys(): print('输入有误') else: go1 = True while go1: for v in city[shi].keys(): print(v) choice_shi = input('选择添加市区请按a/A,进入市区请按i/I , 返回上一层按b/B,选择退出程序请按q/Q,\n>>>') choice_shi = choice_shi.lower() if choice_shi == 'q': go = False break elif choice_shi == 'b': go1 = False continue elif choice_shi == 'a': add_shi = input('请输入您要添加的市区\n>>>') city[shi][add_shi] = [] elif choice_shi == 'i': go2 = True while go2: for n in city[choice][choice_shi]: print(n) choice_xian = input('添加县 a/A , 返回b/B 退出 q/Q\n>>>') choice_xian = choice_xian.lower() if choice_xian == 'q': go = False go1 = False break elif choice_xian == 'b': go2 = False continue elif choice_xian == 'a': add_xian = input('输入您要添加的县\n>>>') city[shi][choice_shi].append(add_xian) continue else: print('输入不正确,请重新输入\n>>>') else: print('输入不正确,请重新输入\n>>>') else: print('输入不正确,请重新输入\n>>>')