重温python基础练习题

! /usr/bin/env python

* coding:UTF-8 *

"""
@author:zhh
@Software:PyCharm
@blogs:https://blog.csdn.net/smilehaoh
@time:2020/9/18

"""
"""
1.执行Python脚本的两种方式
a:直接cmd控制台,python XXX.py
b: 解释器run
"""
"""
2.简述位、字节的关系
一位等于8字节
位就是一个二进制位
一个字节等于8个二进制位
3.简述ascii、unicode、utf-8、gbk的关系
a.ascii:最早的字符编码,只支持英文和部分符号,其最多只能用 8 位来表示(一个字节),
  即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号
b.unicode:俗称万国码,支持所有国家的文字符号,规定所有的字符和符号最少由 16 位来表示(2个字节),
即:2 **16 = 65536,注:此处说的的是最少2个字节,可能更多
c.UTF-8:是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符
和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存
d.gbk:是专为中文服务的编码字符,2个字节表示一个汉字
4.请写出“李杰”分别用utf-8 和gbk编码所占的位数
a.utf-8:24
b.gbk:16
5.Pyhton单行注释和多行分别用什么?
单行注释:#
多行注释:""""""
6.申明变量注意项有哪些?
a.只能是 数字、字母、下划线。
b.开头不能是数字。
c.不能是关键字。['and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
'return', 'try', 'while', 'with', 'yield']
d.建议不要使用Python内置的方法名称。
e.两个单词用下划线连接起来,变量名要有意义,要一看就看得出来这是干什么用的。
驼峰命名法:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
常用于函数名。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如
public class DataBaseUser;
7.如有一个变量n1 =5,请使用int的提供的方法,得到该变量最少可以用多少个二进制位表示?
n = 5
v = n.bit_length() # 获取变量 n 至少用多少位二进制表示
print(v)
输出:3
print(len(format(5,'b')))
输出:3
8.布尔值分别是什么?
True 和 False
9.阅读代码,请写出执行结果
a = "alex"
b = a.capitalize() 将字符串的第一个字母变成大写,其他字母变小写。
print(a)
print(b)
请写出输出结果:
alex
Alex
10.写代码,有如下变量,请按照要求实现每个功能
name = " aleX saddas “
a.移除name变量对应的值两边的空格,并输入移除后的内容
name = " aleX saddas "
newName=name.lstrip()
newName=name.rsplit()
print(newName)
b.判断name变量对应的值是否以 ”al“开头,并输出结果
name = " aleX"
v = name.startswith("al")
print(v)
结果:False
c.判断name变量对应的值是否以”X“结尾,并输出结果
name = " aleX"
v = name.endswith("X")
print(v)
d.将name变量对应的值中”l“替换为 ”p“,并输出结果。
name = " aleX"
v = name.replace("l","p")
print(v)
e.将name变量对应的值根据”l“分割,并输出结果

1 name = " aleX"
2 v = "|".join(name)
3 print(v)
结果: |a|l|e|X
f.请问,上一题 e 分割之后得到的值是什么类型(可选)?
str
g.将name变量对应的值变大写,并输出结果
name = " aleX"
v = name.upper()
print(v)
结果:ALEX
h.将name变量对应的值变小写,并输出结果
name = " aleX"
v = name.lower()
print(v)
4 结果: alex
i.请输出name变量对应的值的第2个字符?
name = " aleX"
name=name.lstrip()
newName = name[1]
print(newName)
j.请输出name变量对应的值的前3个字符?
name = " aleX"
name=name.lstrip()
newName = name[:3]
print(newName)
k.请输出name变量对应的值的后2个字符?
name = " aleX"
name=name.lstrip()
newName = name[2:]
print(newName)
l.请输出name变量对应的值中”e" 所在索引位置?
name = " aleX"
name=name.lstrip()
newName = name.index('e')
print(newName)
m.获取子序列,仅不包含最后一个字符,如: oldboy 则获取 oldbo; root 则获取 roo
name = "oldboy"
newName = name[:-1]
print(newName)
11.字符串是否可迭代对象?如可以,请使用 for 循环每一个元素?
name = "oldboy"
for i in name:
print(i)
12.请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串, li = “alexericrain”
li ="alexericrain"
li="".join(li)
print(li)
b.利用下划线将列表的每一个元素拼接成字符串 li = ["alex","eric","rain"]
li = ["alex","eric","rain"]
li="
".join(li)
print(li)
13.Python2中的 range 和 Python3有什么区别
range的用法(用于创建连续数字,也可设置步长)
python2 和python3的区别还不一样
python2 会立即创建
python3 在会调用的时候才创建
这是对python2的一次优化
14.实现一个整数加法计算器:
如:content = input(“请输入内容:”)如:5+9 或 9-5 或 9+2
cotent1 = input("请输入内容:")
a = int(cotent1)
cotent2 = input("请输入内容:")
b = int(cotent2)
s = a + b
print(s)
15.计算用户输入的内容中有几个十进制小数?几个字母?
如:content = input(“请输入内容:”)
content = input('请输入内容:计算十进制小数个数和字母个数 ')
num = 0
zimu = 0
for n in content:
if n.isdecimal() == True:
num+=1
elif n.isalpha() == True:
zimu+=1
else:
pass
print ('数字个数 ',(num))
print ('字母个数',zimu)

  1. 简述int和9等数字以及str和“xxoo"等字符串的关系
    int表示数据类型为整形,9为整形数字。str表示字符串类型,“xxoo”表示一个字符串
    17.制作趣味模板程序
    需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
    如:敬爱的xx,用户,最喜欢在xx地方干xxx。
    name = input('请输入名字')
    address=input("请输入地点")
    honor=input("请输入爱好")
    tm="敬爱的{0}用户,最喜欢在{1}地方干{2}。"
    print(tm.format(name,address,honor))
    18.制作随机验证码,不区分大小写
    流程:
    1.用户执行程序
    2.给用户显示需要输入的验证码。
    3.用户输入的值
    用户输入的值和显示的值相同时显示正确,否则继续生成随机验证码继续等待用户输入
    生成随机验证码代码示例:
    cerifyCode=input("请输入验证码:")
    code=(0,1,2,3,4,5,6,7,8,9)
    a=random.choice(code)
    b=random.choice(code)
    c=random.choice(code)
    d=random.choice(code)
    code=str(a)+str(b)+str(c)+str(d)
    cerifyCode=input("请输入验证码:{0}".format(code))
    cerifyCode=int(cerifyCode)
    print(code)
    print(cerifyCode)
    if cerifyCode==int(code):
    print("正确")
    else:
    cerifyCode = input("请输入验证码:{0}".format(code))
    19.开发敏感词过滤程序,提示用户输入内容,如果用户输入的内容包含特殊字符如:“苍老师”,“东京热”,则将内容替换为****
    shuru = input("请输入字符串")
    v = shuru.find('苍井空')
    v1 = shuru.find('东京热')
    if v == -1 and v1 == -1:
    print (shuru)
    elif v != -1 or v1 != -1:
    shuru1 = shuru.replace('苍井空','*****')
    shuru2 = shuru1.replace('东京热','*****')
    print (shuru2)
    elif v1 != -1:
    shuru.replace('东京热','*****')
    shuru1 = shuru.replace('东京热','*****')
    print (shuru1)
    else:
    pass
    20.制作表格
    循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)如果用户输入q 或 Q 表示不再继续输入,将用户输入的内容以表格的形式输出
    """
    import prettytable as pt

tb = pt.PrettyTable( ["City name", "Area", "Population", "Annual Rainfall"])

tb = pt.PrettyTable()
tb.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
tb.add_row(["Adelaide",1295, 1158259, 600.5])
tb.add_row(["Brifasdfae",5905, 1857594, 1146.4])
tb.add_row(["Darwin", 112, 120900, 171423423423423424.7])
tb.add_row(["Hobart", 1357, 205556,619.5])

print(tb)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348