【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)
十五、计算用户输入的内容中有几个十进制小数?几个字母?如: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)
十六、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 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)