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

答:1>可以在python /home/xxxx.py

2>cd /home    ./xxxx.py  因为py脚本里面指定了python解释器的位置

2、简述位、字节的关系

答:1Byte(字节)=8bit(二进制位)

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

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

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

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

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

6   4

5、python单行注释和多行注释分别用什么?

答:单行注释用#   多行注释用"""        """

6、声明变量注意事项有哪些?

答:变量 = "abc"    变量 空格 = 空格 双引号之间的字符就是变量,在调用的时候要用吧变量用括号括起来()

变量,只能由字母、数字、下划线组成

特例:不能以数字开头

python的关键字也不能使用

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

  1. 答:
  1. n1 = 5
  2. v = n1.bit_length()
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. 3

8、布尔值分别有什么?

答:True   False

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

a = "gouguoqi"
b = a.capitalize()
print (a)
print (b)

结果是

gouguoqi

Gouguoqi

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

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

  1. name = " gouguoQ"
  2. v = name.strip()
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. gouguoQ

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

  1. name = " gouguoQ"
  2. v = name.startswith('go')
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. False

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

  1. name = " gouguoQ"
  2. v = name.endswith('Q')
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. True

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

  1. name = " gouguoQ"
  2. v = name.replace('g','p')
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. poupuoQ

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

  1. name = " gouguoQ"
  2. v = name.split('o')
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. [' g', 'ugu', 'Q']

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

列表

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

  1. name = " gouguoQ"
  2. v = name.upper()
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. GOUGUOQ

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

  1. name = " gouguoQ"
  2. v = name.lower()
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. gouguoq

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

  1. name = " gouguoQ"
  2. v = name[2]
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. o

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

  1. name = " gouguoQ"
  2. v = name[0:3]
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. go

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

  1. name = " gouguoQ"
  2. v = name[-2:]
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. oQ

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

  1. name = " gouguoQ"
  2. v = len(name)
  3. for n in range(v):
  4. if (name[n]) != "Q":
  5. continue
  6. else:
  7. print (n,name[n])
  8.  
  9. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  10.  
  11. 7 Q

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

  1. name = " gouguoQ"
  2. print (name[0:-1])
  3.  
  4. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  5.  
  6. gouguo

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

  1. for n in "woaini":
  2. print (n)
  3.  
  4. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  5.  
  6. w
  7.  
  8. o
  9.  
  10. a
  11.  
  12. i
  13.  
  14. n
  15.  
  16. i

只要能被for循环,这个值就是  可迭代对象

#类,类型

str

各种方法

......

#对象,根据str类型创建一个对象,S1,在shell我们就叫变量

S1 = "gouguoqi"

22、请用代码实现

a.利用下划线将列表的每一个元素拼接成字符串  li = "gouguoqi"

  1. li = "gouguoqi"
  2. v = "_".join(li)
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. g_o_u_g_u_o_q_i

b.利用下划线将列表的每一个元素拼接成字符串  li = ['gou','guo','qi']

  1. li = ['gou','guo','qi']
  2. v = "_".join(li)
  3. print (v)
  4.  
  5. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  6.  
  7. gou_guo_qi

23、在python2和3中range有啥区别

在python2.7里面,range可以直接帮我们打印出来范围内的数字,这个就有缺点了,比如我打印出来1万个数字,它得先把一万个数字打印出来,这个时候我们得等着了。并且占用很多内存

在python3里面,range创建之后,并不会把这些数字打印出来,而是在什么时候调用的时候才去一个一个的打印,比如我for循环调用的时候才会挨个打印,这样就省内存了

24、实现一个整数加法计算器:

如:

  1. content = input("请输入内容:") 如:5+93+69008+2566
  2.  
  3. content = input('请输入内容:格式是5+9 7+9 3+7 ')
  4. v = content.split('+') 先把输入的2个数字以+分割成2个字符串
  5. n1 = int(v[0]) 把第一个数字转换成int类型
  6. n2 = int(v[1]) 把第二个数字转换成int类型
  7. n3 = n1 + n2
  8. print (n1,'+',n2,'=',n3)
  9.  
  10. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  11.  
  12. 请输入内容:格式是5+9 7+9 3+7 22+33
  13.  
  14. 22 + 33 = 55
 

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

如:

content = input ('请输入内容:')    #如:adsffjjhb87902kdjhs-+9802jkl

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

把字符串挨个打印出来,打印出来一个,判断一个,如果是数字,就把数字的基数加一,如果是字母就把字母的基数加一,就不是数字也不是字母,就pass,最后打印出num  zimu

  1. content = input('请输入内容:计算十进制小数个数和字母个数 ')
  2. num = 0
  3. zimu = 0
  4. for n in content:
  5. if n.isdecimal() == True:
  6. num+=1
  7. # print ('数字个数 ',(num))
  8. elif n.isalpha() == True:
  9. zimu+=1
  10. # print ('字母个数',zimu)
  11. else:
  12. pass
  13. print ('数字个数 ',(num))
  14. print ('字母个数',zimu)
  15.  
  16. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  17.  
  18. 请输入内容:计算十进制小数个数和字母个数 56gou<<<ijh78
  19.  
  20. 数字个数 4
  21.  
  22. 字母个数 6

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

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

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

27、制作趣味模板程序

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

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

  1. name = input("请输入你的名字: ")
  2. place = input("请输入你经常去的地方: ")
  3. like = input("请输入你平时的爱好: ")
  4. print ('猥琐的',name,',','最喜欢在',place,'地方',like)
  5.  
  6. test = "猥琐的{0},最喜欢在{1}地方干{2}"
  7. name = input("请输入你的名字: ")
  8. place = input("请输入你经常去的地方: ")
  9. like = input("请输入你平时的爱好: ")
  10. v = test.format(name,place,like)
  11. print(v)
  12.  
  13. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  14.  
  15. 请输入你的名字: 修电脑
  16.  
  17. 请输入你经常去的地方: 网吧
  18.  
  19. 请输入你平时的爱好: 撸管
  20.  
  21. 猥琐的修电脑,最喜欢在网吧地方干撸管

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

流程:

- 用户执行程序

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

- 用户输入的值

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

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

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)

解答:

  1. def check_code():
  2. import random
  3. check_code = ''
  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. check_code += str(temp)
  11. return check_code
  12. code = check_code()
  13. while True:
  14. code = check_code()
  15. print (code)
  16. v = input('请输入验证码>>>>')
  17. v1 = v.upper()
  18. if v1 == code:
  19. print ('验证码正确')
  20. break
  21. else:
  22. pass
  23.  
  24. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  25.  
  26. TGHM
  27.  
  28. 请输入验证码>>>>dfgh
  29.  
  30. AEP5
  31.  
  32. 请输入验证码>>>>aep5
  33.  
  34. 验证码正确

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

如 "苍井空"  "东京热"  则将内容替换为***

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

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

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

  1. shuru = input("请输入字符串")
  2. v = shuru.find('苍井空')
  3. v1 = shuru.find('东京热')
  4. if v == -1 and v1 == -1:
  5. print (shuru)
  6. elif v != -1 or v1 != -1:
  7. shuru1 = shuru.replace('苍井空','*****')
  8. shuru2 = shuru1.replace('东京热','*****')
  9. print (shuru2)
  10. # elif v1 != -1:
  11. # shuru.replace('东京热','*****')
  12. # shuru1 = shuru.replace('东京热','*****')
  13. # print (shuru1)
  14. else:
  15. pass
  16.  
  17. C:\python35\python3.exe D:/pyproject/day11数据类型的方法/str-way.py
  18.  
  19. 请输入字符串打算发松岛枫ppp34324苍井空了。。东京热了
  20.  
  21. 打算发松岛枫ppp34324*****了。。*****了

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

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

  1. while True:
  2. name = input('请输入内容:')
  3. if "苍井空" in name or "东京热" in name:
  4. v = name.replace('苍井空', '*****')
  5. v1 = v.replace('东京热', '*****')
  6. print(v1)
  7. exit()
  8. else:
  9. print(name)

30、制作表格

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

  1. s = ""
  2. while True:
  3. v1 = input('请输入你的名字')
  4. v2 = input('请输入你的密码')
  5. v3 = input('请输入你的邮箱')
  6. v4 = v1[0:19]
  7. v5 = v2[0:19]
  8. v6 = v3[0:19]
  9. test = "{0}\t{1}\t{2}\n"
  10. v = test.format(v4, v5, v6)
  11. b = v.expandtabs(20)
  12. s = s + b
  13. if v1 == "q" or v2 == "q" or v3 == "q" or v1 == "Q" or v2 == "Q" or v3 == "Q":
  14. break
  15. print(s)
  16.  
  17. 请输入你的名字q
  18.  
  19. 请输入你的密码ww
  20.  
  21. 请输入你的邮箱ee
  22.  
  23. aa bb cc
  24.  
  25. dd dd dd
  26.  
  27. ff ff ff
  28.  
  29. q ww ee

python基础练习题30道的更多相关文章

  1. python ----字符串基础练习题30道

    1.执行python脚本的两种方式 一种是点开始--运行--cmd 方式(这个操作需要先配置好环境变量path路径)之后运行python 二是直接进安装目录 运行tython软件运行.pycharm ...

  2. python基础练习题1

    深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...

  3. python基础练习题(九九乘法表)

    又把python捡起来了,动手能力偏弱,决定每日一练,把基础打好! ------------------------------------------------------------------ ...

  4. python基础练习题

    购物车程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/6 21:01 # @Author : hyang # @Si ...

  5. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  6. 08: python基础练习题

    1.while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 # 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 s = 0 i = ...

  7. Python学习【day02】- Python基础练习题

    #!/usr/bin/env python # -*- coding:utf8 -*- # 执行Python 脚本的两种方式 # 答:①在windows的cmd窗口下 > D:/Python/p ...

  8. python基础练习题(题目 输出一个随机数。)

    day35 --------------------------------------------------------------- 实例050:随机数 题目 输出一个随机数. 分析:使用ran ...

  9. python基础练习题(题目 文本颜色设置)

    day23 --------------------------------------------------------------- 实例035:设置输出颜色 题目 文本颜色设置. 分析:不会, ...

随机推荐

  1. 《Metasploit渗透测试魔鬼训练营》第一章读书笔记

    第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...

  2. 20135327郭皓--Linux内核分析第六周 进程的描述和进程的创建

    进程的描述和进程的创建 一.进程的描述 操作系统三大功能: 进程管理 内存管理 文件系统 进程描述符task_struct数据结构 task _ struct:为了管理进程,内核必须对每个进程进行清晰 ...

  3. HelloWorld.php

    没有写博的习惯,从今天开始.近期学习了下php,分享下我的第一个PHP. 工具:Hbuider+Wampserver 利用Wampserver就可以完成PHP脚本的编写和运行,本人之所以选择安装HBu ...

  4. Android动画总结

    本文总结常用属性方法等,详细学习可使用如下郭霖大神文章: Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中),ValueAnimator和ObjectA ...

  5. shell脚本--文件查找之find命令

    首先是通过文件名称来查找,需要使用一个-name参数. 查询以  .txt结尾的文件,和以 t 开头的文件: ubuntu@ubuntu:~/test$ ls one.txt three.txt tw ...

  6. 转载《ionic 热更新 cordova-hot-code-push》

    cordova-hot-code-push ,Cordova热代码推送插件提供了在应用程序中执行基于Web的内容的自动更新的功能.使用此插件可以更新存储在项目的www文件夹中的所有内容. cordov ...

  7. scipy插值interpolation

    >>> from scipy.interpolate import interp1d#interp1d表示1维插值 >>> >>> x = np. ...

  8. GROUP BY 聚合函数(max min sum avg count) 和HAVING的 使用

    重新复习一下这个都源自于我经常需要查的一个需求 “要找到表里面 出现了两次或者三次的某个字段” 现在假设有一张表字段是 +----+---------------------+------------ ...

  9. 照片 GPS 信息查询

    照片 GPS 信息查询 经纬度查询 https://jingweidu.51240.com/ // 30.27832833333333, 120.01914111111111 30 + 16/60 + ...

  10. python之input()、while、title()和upper()

    代码举例: # 小应用:问卷调查,记录下调查者名字和回答,询问是否继续. # 运用数据字典.while.input().title()和upper(). responses = {} flag = T ...