欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【python学习】新手基础程序练习(二)

程序员文章站 2022-07-10 12:30:47
一、执行 Python 脚本的两种方式 1.把python执行文件加到计算机的环境变量中,然后新建文件把程序写在新文件里,再通过cmd命令打开命令提示符终端,输入python + 文件名(路径也要写全)回车执行即可。 2.直接在命令行输入python进入python解释器,然后把程序输入进去,执行获 ......
ι  继续上一节得内容,这里主要是对各种知识的理解以及如何运用。

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

1.把python执行文件加到计算机的环境变量中,然后新建文件把程序写在新文件里,再通过cmd命令打开命令提示符终端,输入python + 文件名(路径也要写全)回车执行即可。

2.直接在命令行输入python进入python解释器,然后把程序输入进去,执行获得结果

二、简述位、字节的关系

  在计算机上,数据都是以二进制的方式来存储传输的,比如01011101,这就是一段数据,其中0或者1的个数称为位数,所以这里是八位,而字节则是数据量的更大一级的表示方法,一个字节由8位二进制数组成。

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

ascιι码使用一个字节编码,所以它的范围基本上只有英文字母、数字和一些特殊符号,只有256个字符。unicode能够表示全世界所有的字节,在表示一个unicode的字符时,通常会用“u+”然后紧接着一组十六进制的数字来表示这个字符。utf-8是一种针对unicode的可变长度字符编码,又称万国码,它用一到六个字节编码unicode字符。gbk只用来编码汉字的,使用双字节编码。

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

utf-8中一个中文字符占3个字节,所以有6个字节,即48位;gbk中一个中文字符占2字节,所以有4字节,即32位。

五、pyhton 单行注释和多行注释分别用什么?

在python里,单行注释用#,即在这一行里,#后面的内容都是注释的;多行注释用"""结尾也要加上""",即从"""开始以下的内容都是注释部分,直到再次出现"""符号。

六、声明变量注意事项有那些?

python里声明变量时,只能用字母、数字和下划线组成,而且不能以数字开头。声明的变量不要与python中已有的关键字和内部定义的各种方法即函数重复,否则将使python的完整功能出现问题。一般命名较长时,可以用下划线作连接来表达,如用户号可命名为user_id。

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

在int提供的方法里,bit_length()的功能是显示一个数字用二进制表示时的位数,所以可以用来计算一个整型变量最少可以用多少个二进制位表示。如下:

1 n1 = 5
2 r = n1.bit_length()
3 print(r)

得出结果为3位,即101。

八、布尔值分别有什么?

布尔值是用来表示逻辑上的真假的,即true和false,其对应的值分别为1和0。

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

1 a = "alex"
2 b = a.capitalize()
3 print(a)
4 print(b)

b执行的操作是把字符串a的首字母大写,即改为alex。所以执行结果为:

alex

alex

十、写代码,有一个变量 name = " alex" ,请按照要求实现每个功能

a. 移除 name 变量对应的值两边的空格,并输入移除后的内容            b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果

c. 判断 name 变量对应的值是否以 "x" 结尾,并输出结果                    d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

e. 将 name 变量对应的值根据 “l” 分割,并输出                                       f. 请问,上一题 e 分割之后得到值是什么类型(可选)?

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

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

k. 请输出 name 变量对应的值的后 2 个字符?                                         l. 请输出 name 变量对应的值中 “e” 所在索引位置?

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

 1 name = " alex"  #定义name变量
 2 name = name.strip()  #移除两边的空格
 3 print(name)
 4 p = name.startswith("al")  #判断是否是以al开头的
 5 print(p)
 6 p_1 = name.endswith("x")  #判断是否是以x结尾的
 7 print(p_1)
 8 x = name.maketrans("l","p")  #定义一个替换的对应关系
 9 name_1 = name.translate(x)  #进行替换
10 print(name_1)
11 p_2 = name.split("l")   #根据“l”进行分割
12 print(p_2)
13 p_3 = name.upper()  #全部转换成大写
14 print(p_3)
15 p_4 = name.lower()   #全部转换成小写
16 print(p_4)
17 print(name[1])   #输出第二个字符
18 print(name[0:3])  #输出前两个字符
19 print(name[2:4])   #输出后两个字符
20 #输出字符“e”所在的索引位置
21 count = 0
22 for r in name:
23     while r == "e":
24         print(count)
25         break
26     count+=1
27 print(name[0:-1])   #获取子序列,仅不包含最后一个字符

十一、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?

字符串是可以迭代对象的,比如可以用for循环每一个元素

1 name = "beautiful"
2 for x in name:
3     print(x)

十二、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"

1 li = "alexericrain"
2 v = "_".join(li)
3 print(v)

十三、python2 中的 range 和 python3 中的 range 的区别?

python3中的range不会在未使用range时把所有的值输出,只是显示出range的范围,而python2中的range则会在未使用时把所有的值都输出

十四、实现一个整数加法计算器,如: content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9

1 content = input("请输入内容:")
2 v = content.split("+")
3 count = 0
4 for x in v:
5     x = x.strip()
6     n = int(x)
7     count = count + n
8 print(count)

【python学习】新手基础程序练习(二)

十五、计算用户输入的内容中有几个十进制小数?几个字母?如:content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928

1 content = input("请输入内容:")
2 a_num = 0
3 d_num = 0
4 for x in content:
5     if x.isalpha() == 1:
6         a_num+=1
7     elif x.isdecimal() == 1:
8         d_num+=1
9 print(a_num,d_num)

【python学习】新手基础程序练习(二)

十六、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx

1 name = input("请输入名字:")
2 address = input("请输入地点:")
3 action = input("请输入爱好:")
4 print("敬爱可亲的%s,最喜欢在%s%s"%(name,address,action))

十七、制作随机验证码,不区分大小写。

流程:

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

 1 def check_code():
 2     import random
 3     checkcode = ""
 4     for i in range(4):
 5         current = random.randrange(0,4)
 6         if current != i:
 7             temp = chr(random.randint(65,90))
 8         else:
 9             temp = random.randint(0,9)
10         checkcode += str(temp)
11     return checkcode
12 
13 while(1):
14     code = check_code()
15     print(code)
16     passwd = input("请输入验证码:")
17     #    把系统生成的验证码和用户输入的都转换成小写
18     # 或者大写后,则可以实现不区分大小写
19     code = code.lower()
20     passwd = passwd.lower()
21     if passwd == code:
22         print("验证码正确!")
23         break

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

1 topic = input("请输入:")
2 topic = topic.replace("苍老师","***",10000)
3 topic = topic.replace("东京热","***",10000)
4 print(topic)

【python学习】新手基础程序练习(二)