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

2019-01-05 13:11:04来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Ι  继续上一节得内容,这里主要是对各种知识的理解以及如何运用。

一、执行 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)

 

 

 

 



 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:concurrent.futures进行并发编程

下一篇:20190105-打印字母C,H,N,口等图像和杨辉三角