基础数据类型篇---作业1

1、执行python脚本的两种方式

  1.   python 文件名
  2.        进入python解释器执行

2、简述位、字节的关系

  8位等于1字节

3、简述ascii、unicode、utf-8、gbk的关系

  •   ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
  •        Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,可以用在内存处理中,兼容了utf-8,gbk,ASCII,
  •        utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
  •        gbk  是中文的字符编码,用2个字节代表一个字符
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
  utf-8:占6个字节
  gbk:占用4个字节
 
5、Pyhton 单行注释和多行注释分别用什么?
  单行注释以 # 开头,多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来
 
6、声明变量注意事项有那些?
  •  变量名必须是大小写英文字母、数字、下划线的组合
  •     不能以数字开头
  •     变量名对大小写敏感
  •     变量名不能是关键字
  •     变量名不能使用除了字母、数字、下划线之后的符号
  •     变量在使用前必须对其赋值
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
  print(n1.bit_length())  ---->  最少可以用3个二进制位
 
8、布尔值分别有什么?
  真 ----- > True (非0)
       假 ----- > False (0)
 
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 变量对应的值的第 2 个字符?
    print(name[1])
  j. 请输出 name 变量对应的值的前 3 个字符?
    print(name[0:3])
  k. 请输出 name 变量对应的值的后 2 个字符?
    print(name[-2:])
  l. 请输出 name 变量对应的值中 “e” 所在索引位置?
    print(name.find("e"))
  m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
    print(name[:-1])
 
21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
  字符串可迭代,如
name = "alex"
for i in name :
    print(i)
 
22、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)
li = "alexericrain"
print('_'.join(li))
li = ['alex', 'eric', 'rain']
print('_'.join(li))
 
23、Python2 中的 range 和 Python3 中的 range 的区别?
  Python2中
    range时是直接一次性全部创建出来(立即创建)
    xrange跟python3中的range效果一样
  Python3是一个一个创建(需要用到的时候再创建,循环时)
 
24、实现一个整数加法计算器:
如:content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
content = input('请输入内容:')
num = content.split('+')
sum = int(num[0]) + int(num[1])
print(sum)
 
25、计算用户输入的内容中有几个十进制小数?几个字母? 如: content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
content = input("请输入内容:")
count = 0
num_count = 0
for i in content:
if i.isalpha():
count += 1
elif i.isalnum():
num_count += 1
print('字母:',count ,'数字:', num_count)
 
26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
  类和对象的关系 
 
27、制作趣味模板程序,需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
content = input("请输入名字、地点、爱好,以逗号隔开:")
text = content.split(',')
muban = "敬爱可亲的{name},最喜欢在{city},地方干{aihao}"
print(muban.format(name=text[0],city=text[1],aihao=text[2]))
 
 
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
content = input("请输入内容:")
content = content.replace("苍老师",'***')
content = content.replace('东京热','***')
print(content)
 
30、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐
result = ''
print("输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效,输入 q 或 Q	 表示不再继续输入")
while True:
    username = input('用户名:').strip()
    if username.lower() == 'q':
        break
    passwd = input("密码:").strip()
    if passwd.lower() == 'q':
        break
    email = input("邮箱:").strip()
    if email.lower() == 'q':
        break
    if len(username) > 20 :
        username = username[0:20]
    if len(passwd) >  20:
        passwd = passwd[0:20]
    if len(email) > 20:
        email = email[0:20]
    result += username + '\t' + passwd + '\t' + email + "\n"

print("用户名\t密码\t邮箱".expandtabs(30) + '\n' + result.expandtabs(30) )

  

posted @ 2019-09-02 15:36  Mr-谢  阅读(149)  评论(0)    收藏  举报