练习题(一)

练习题(一)

1.执行Python脚本的两种方式:

**一、**是点开始–运行–cmd 方式(这个操作需要先配置好环境变量path路径)之后运行python
**二、**是直接进安装目录 运行python软件运行。pycharm
python 解释器
python.1.py

2.简述位、字节的关系:

:计算机的计算单位,代表0或者1
字节:一字节相当于8位

3.请写出“李杰”在程序中所占的位数(python3版本):

 name = '李杰'
  for l in range(0,len(name)):
     print(l,name[l])

0 李
1 杰

4.Python单行注释和多行注释分别用什么?

单行注释:#
多行注释:’’’ ‘’’
注:ctrl+?可进行单行快捷注释

5.申明变量注意事项有哪些?

变量必须由数字,字母,下划线组成,不能以数字开头,不能用关键字,还有系统内置函数。

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

bit_length

n1 = 5
v = n1.bit_length()
print (v)

3

7.布尔值分别有什么?

True False

8.阅读代码,请写出运行结果:

a = 'alex'
b = a.capitalize()
print(a)
print(b)

注:.capitalize()为首字母大写

alex
Alex

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

for i in 值:
    print(i)

可迭代对象==可以被for进行循环获取
补充:
类、类型
str
各种方法应用

对象,根据str类型创建一个对象,这个对象赋值给s1变量
s1 = ‘alex’
s2 = ‘alex’
…int一样

练习题(一)_第1张图片

10.请用代码实现:

a.利用下划线将列表的每一个元素拼接成字符串,li = ‘qwertyuiop’
b.利用下划线将列表的每一个元素拼接成字符串,li = [‘alex’,‘eric’]

v = '_'.join('qwertyuiop')
print(v)
v = '_'.join(['alex','eric'])
print(v)

q_w_e_r_t_y_u_i_o_p
alex_eric

. join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

11.Python2 中的 range 和Python3 中的 range 有什么区别?

  • Python2:
    range (立即创建)
  • Python3:
    range (for 循环时才一个一个创建)
    附加:
for i in range(0,3,1):# 设置步长,从小到大排列
    print(i)
for i in range(3,0,-1):# 设置步长,从大到小排列
    print(i)

0
1
2
3
2
1

12.实现一个整数的加法计算器:

如:content=input(‘请输入内容:’) 如:5+9

# input: 字符串'5+9'
v = input('请输入内容:')
v1, v2 = v.split('+')
v1 = int(v1)
v2 = int(v2)
print(v1 + v2)

split() 通过指定分隔符对字符串进行切片

请输入内容:5+9
14

13.计算机用户输入的内容中有几个十进制小数,几个字母?

思路是:定义两个基数都是0,一个是字母的一个是数字的

把字符串挨个打印出来,打印出来一个,判断一个,如果是数字,就把数字的基数加一,如果是字母就把字母的基数加一,就不是数字也不是字母,就pass,最后打印出v1 v2
Python isdecimal() 方法检查字符串是否只包含十进制字符
Python isalpha() 方法检测字符串是否只由字母组成

content = input('请输入内容:')
v1 = 0
v2 = 0
for n in content:
    if n.isdecimal() == True:
        v1 += 1
    elif n.isalpha() == True:
        v2 += 1
    else:
        pass
print('数字个数', (v1))
print('字母个数', (v2))

请输入内容:123rty67-=+++dsg/66fdgf
数字个数 7
字母个数 10

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

int就是数字类型,str就是字符串类型,xxoo就是字符串

int str都是类,类型, 9 xxoo这些都是根据类创建的对象

15.制作趣味模板程序

需求:等待用户输入名字、地点、爱好、根据用户的名字和爱好进行任意显示

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

两种方式:

name = input("请输入你的名字: ")
place = input("请输入你经常去的地方: ")
like = input("请输入你平时的爱好: ")
print('猥琐的', name, ',', '最喜欢在', place, '地方', like)

test = "猥琐的{0},最喜欢在{1}地方{2}"
name = input("请输入你的名字: ")
place = input("请输入你经常去的地方: ")
like = input("请输入你平时的爱好: ")
v = test.format(name, place, like)
print(v)

请输入你的名字: MOKE
请输入你经常去的地方: 海边
请输入你平时的爱好: 打游戏
猥琐的 MOKE , 最喜欢在 海边 地方 打游戏
请输入你的名字: MOKE
请输入你经常去的地方: 海边
请输入你平时的爱好: 打游戏
猥琐的MOKE,最喜欢在海边地方打游戏

制作随机验证码,不区分大小写

流程:

  • 用户执行程序

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

  • 用户输入的值

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

生成随机验证码代码示例:

def check_code():
    import random
    check_code = ''
    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)
        check_code += str(temp)
    return check_code
code = check_code()
print(code)
def check_code():
    import random
    check_code = ''
    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)
        check_code += str(temp)
    return check_code
code = check_code()
while True:
    code = check_code()
    print (code)
    v = input('请输入验证码>>>>')
    v1 = v.upper()
    if v1 == code:
        print ('验证码正确')
        break
    else:
        pass

开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:

如 “诈骗” “绑架” 则将内容替换为***

思路是:创建2个变量v1 v2,用find方法来判断用户输入的字符串里面是否有敏感词,有的话find的值就不是-1,只有find的值是-1的时候才是没有敏感词的

然后用if判断,如果2个值都等于-1,才证明不包含定义的2个敏感词,就正常打印,如果包含一个敏感词或者是包含2个敏感词都包含,就执行替换的操作

替换操作思路是,先替换苍井空。替换完成之后,给它赋值一个新的变量名字,再把新的变量里面的东京热再次替换下,最后打印出来最后的变量就是2者都替换过了的结果

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

用in来实现其实更简单些,代码如下

如果有敏感词的话就题把敏感词替换成*****并且赶紧退出,没有敏感词的话可以继续输入

while True:
    name = input('请输入内容:')
    if "诈骗" in name or "绑架" in name:
        v = name.replace('诈骗', '*****')
        v1 = v.replace('绑架', '*****')
        print(v1)
        exit()
    else:
        print(name)

制作表格

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

s = ""
while True:
    v1 = input('请输入你的名字')
    v2 = input('请输入你的密码')
    v3 = input('请输入你的邮箱')
    v4 = v1[0:19]
    v5 = v2[0:19]
    v6 = v3[0:19]
    test = "{0}\t{1}\t{2}\n"
    v = test.format(v4, v5, v6)
    b = v.expandtabs(20)
    s = s + b
    if v1 == "q" or v2 == "q" or v3 == "q" or v1 == "Q" or v2 == "Q" or v3 == "Q":
        break
print(s)

请输入你的名字q
请输入你的密码ww
请输入你的邮箱ee
aa bb cc
dd dd dd
ff ff ff
q ww ee

3.简述ascii、unicode、uft-8、gbk的关系

ascii 英文编码,8个二进制位代表一个字母,总共可以有2的8次方减去1个等于255个

gbk是中文编码,是用的16个二进制代表一个汉字,有点浪费空间

uft-8也是中文编码,也是用的16个二进制代表一个汉字,但是能用8位表示就用位了

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

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

v = name.strip()
print(v)

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

v = name.startswith('go')
print(v)  #false

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

v = name.endswith('Q')
print(v)   #true

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

print name.replace("o","p")

e.将name变量对应的值根据"o"分割,并输出结果

v = name.split('o')
print(v)  #此为不包括分隔符方式

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

列表

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

v = name.upper()
print(v)

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

v = name.lower()
print(v)

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

print(name[1])

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

print(name[0:3])

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

print(name[5:8])

name = " gouguoQ"
v = name[-2:]
print (v)

l.请输出name变量中的值"Q的索引的位置

name = " gouguoQ"
v = len(name)
for n in range(v):
    if (name[n]) != "Q":
        continue
    else:
        print (n,name[n])  # 7  Q

m.获取子序列,仅不包含最后一个字符,如:woaini则获取woain root则获取roo

name = " gouguoQ"
print (name[0:-1])
ps:部分内容来自于互联网整理,如有侵权请联系我们,我们会在看到通知后24小时内做出处理

你可能感兴趣的:(Python,学习之路)