python学习作业1

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

第一种:命令执行.py文件;第二种:进入解释器实时执行。

2、简述位与字节的关系

位用bit表示,字节用Byte表示,8个Bit=1个Byte,一个英文或者数字用1个Byte就可以表示,但汉字需要2个Byte。

3、简述ASCII 、Unicode、utf-8、GBK四种编码格式的区别

ASCII码是标准的英文和数字的8位码,是欧美国家的标准;

Unicode码是国际统一码,又称为万国码,可以表示国际上所有国家的所有文字;

utf-8码是Unicode码的一个变种,使用1-6个字节来表示不同的字符,也是万国码,但可以根据文字占码适当变换字符编码长度,可以和Unicode互转;

GBK是中国的编码标准,可以和Unicode互转,但不能和utf-8直接互转,需要通过Unicode间接互转。

4、请写出“李杰”分别用utf-8和gbk编码所占的位数

utf-8使用3个字节表示一个汉字,也是32位;gbk使用2个字节表示一个汉字,也是16位;所以题目中两个汉字,分别应该是64位和32位。

5、单行注释和多行注释分别用什么表示?

单行注释用#注释内容;多行用三个成对的单引号或双引号表示,"""注释内容"""或者'''注释内容'''。

6、声明变量的注意事项是什么?

使用数字、字母和_的组合,不能以数字开头,不能使用python已经占用的单词,要符合一定的命名意义。

7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?

使用int.bit_length(),得到结果是3

8、布尔值分别有什么?

true and flase

9、阅读代码,请写出执行结果

a = "alex"
b = a.capitalize()  #首字母大写的属性

print(a)
print(b)

请写出输出结果:

alex

Alex

10、写代码,有如下变量,请按照要求实现每个功能 name = " aleX"

a. 移除 name 变量对应的值两边的空格,并输入移除后的内容

n=name.strip()

print(n)

aleX

 

b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果

n=name.startswith("al")

print(n)

False

 

c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果

n=name.endswith()

print()

True

 

d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

n=name.replace()

print(n)

 apeX

 

e. 将 name 变量对应的值根据 “l” 分割,并输出结果。

n=name.split("l")

print(n)

[' a', 'eX']

 

f. 请问,上一题 e 分割之后得到值是什么类型(可选)?

数组

 

g. 将 name 变量对应的值变大写,并输出结果

n=name.upper()

print(n)

 ALEX

 

h. 将 name 变量对应的值变小写,并输出结果

n=name.lower()

print(n)

 alex

 

i. 请输出 name 变量对应的值的第 2 个字符?

print(name[1])

a

 

j. 请输出 name 变量对应的值的前 3 个字符?

print(name[0:3]

 al

 

k. 请输出 name 变量对应的值的后 2 个字符?

print(name[-2:])

eX

 

l. 请输出 name 变量对应的值中 “e” 所在索引位置?

print(name.index("e"))

3

 

m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo 

print(name[0:-1])

 ale

11、字符串是否可迭代对象?如可以请使用for循环每一个元素
答:可以,for v in str

12、请用代码实现:

a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选) 

n="_".join(li)

print(n) 

13、Python2 中的 range 和 Python3 中的 range 的区别? 

前者只要建立就执行,后者是for循环时再执行,后者节省内存。

14、实现一个整数加法计算器: 如:

content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9 

num = input('请输入内容:')
v = num.split('+')
n=int(v[0].strip()) + int(v[1].strip())

print(n)

15、计算用户输入的内容中有几个十进制小数?几个字母? 如:

content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928 

content = input("请输入内容:")
int_num = 0
str_num = 0
for n in content:
    if n in "0123456789":
        int_num += 1
    if n in "abcdefghijklmnopqrstuvwsyz":
        str_num += 1
print('数字个数为:', int_num, '字母个数为:', str_num)

16、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系? 

9的数据类型是int,xxoo的数据类型是str

17、制作趣味模板程序 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx 

name = input("请输入您的名字:")
where = input("请输入一个地点:")
thing = input("请输入您的爱好:")
print("可爱的"+name+"喜欢在"+where+thing)

28、制作随机验证码,不区分大小写。 流程:

- 用户执行程序

- 给用户显示需要输入的验证码

- 用户输入的值

用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入

def check_code():
    import random
    checkcode=""
    for i in range(4):
        current =random.randrange(0,4)
        if current != i:
            temp= chr(random.randint(65,90))
        else:
            temp= random.randint(0,9)
        checkcode+=str(temp)
    return checkcode
code = check_code()
print(code)

while True:
    n = input("请输入屏幕上的验证码,不区分大小写:")
    if code.lower()==n.lower():
        print("恭喜您输入正确!欢迎进入!")
        break

29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符: 如 "苍老师" "东京热",则将内容替换为 *** 

test=input("请输
word=["苍老师","东
for n in word:
    test=test.
print(test)   

30、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效) 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐 

 

 

posted @ 2019-01-16 19:10  前卫楞子  阅读(237)  评论(0编辑  收藏  举报