【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()的功能是显示一个数字用二进制表示时的位数,所以可以用来计算一个整型变量最少可以用多少个二进制位表示。如下:
n1 = 5
r = n1.bit_length()
print(r)
得出结果为3位,即101。
八、布尔值分别有什么?
布尔值是用来表示逻辑上的真假的,即True和False,其对应的值分别为1和0。
九、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
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
name = " aleX" #定义name变量
name = name.strip() #移除两边的空格
print(name)
p = name.startswith("al") #判断是否是以al开头的
print(p)
p_1 = name.endswith("X") #判断是否是以X结尾的
print(p_1)
x = name.maketrans("l","p") #定义一个替换的对应关系
name_1 = name.translate(x) #进行替换
print(name_1)
p_2 = name.split("l") #根据“l”进行分割
print(p_2)
p_3 = name.upper() #全部转换成大写
print(p_3)
p_4 = name.lower() #全部转换成小写
print(p_4)
print(name[1]) #输出第二个字符
print(name[0:3]) #输出前两个字符
print(name[2:4]) #输出后两个字符
#输出字符“e”所在的索引位置
count = 0
for r in name:
while r == "e":
print(count)
break
count+=1
print(name[0:-1]) #获取子序列,仅不包含最后一个字符
十一、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
字符串是可以迭代对象的,比如可以用for循环每一个元素
name = "beautiful"
for x in name:
print(x)
十二、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
li = "alexericrain"
v = "_".join(li)
print(v)
十三、Python2 中的 range 和 Python3 中的 range 的区别?
Python3中的range不会在未使用range时把所有的值输出,只是显示出range的范围,而Python2中的range则会在未使用时把所有的值都输出
十四、实现一个整数加法计算器,如: content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
content = input("请输入内容:")
v = content.split("+")
count = 0
for x in v:
x = x.strip()
n = int(x)
count = count + n
print(count)

十五、计算用户输入的内容中有几个十进制小数?几个字母?如:content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
content = input("请输入内容:")
a_num = 0
d_num = 0
for x in content:
if x.isalpha() == 1:
a_num+=1
elif x.isdecimal() == 1:
d_num+=1
print(a_num,d_num)

十六、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
name = input("请输入名字:")
address = input("请输入地点:")
action = input("请输入爱好:")
print("敬爱可亲的%s,最喜欢在%s%s"%(name,address,action))
十七、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
def check_code():
import random
checkcode = ""
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)
checkcode += str(temp)
return checkcode while(1):
code = check_code()
print(code)
passwd = input("请输入验证码:")
# 把系统生成的验证码和用户输入的都转换成小写
# 或者大写后,则可以实现不区分大小写
code = code.lower()
passwd = passwd.lower()
if passwd == code:
print("验证码正确!")
break
十八、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师" "东京热",则将内容替换为 ***
topic = input("请输入:")
topic = topic.replace("苍老师","***",10000)
topic = topic.replace("东京热","***",10000)
print(topic)

【python学习】新手基础程序练习(二)的更多相关文章
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习之==>面向对象编程(二)
一.类的特殊成员 我们在Python学习之==>面向对象编程(一)中已经介绍过了构造方法和析构方法,构造方法是在实例化时自动执行的方法,而析构方法是在实例被销毁的时候被执行,Python类成员中 ...
- Python 学习笔记---基础篇
1. 简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200 import subprocess cmd="cmd.exe" b ...
- Python学习day06-Python基础(4)流程控制之while和for循环
Python学习day06-流程控制之while和for循环 Python学习day06-流程控制之while和for循环while循环1. 语法2. while+break,while+contin ...
- Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...
- python学习1:程序元素和基本使用方法(跟随mooc学习)
程序元素: 注释,缩进,变量,常量,表达式 输入,输出,分支,循环 示例程序,温度转换程序: #TempConvert.pyval=input("请输入带温度表示符号发温度值(例如:32C) ...
- 【python学习】新手基础程序练习(一)
首先得先编一下程序员必须编的程序——Hello World……(这应该是程序员情结...) #coding=utf-8 #Version:python3.7.0 #Tools:Pycharm 2017 ...
- python 学习之 基础篇二 字符编码
声明: 博文参考1:字符编码发展历程(ASCII,Unicode,UTF-8) 博文参考2:Python常见字符编码间的转换 (1)为什么要用字符编码 早期的计算机使用的是通电与否的特性的真空管,如果 ...
随机推荐
- Hadoop 3节点集群无法成功启动zookeeper
今天在集群上跑程序的时候遇到了zookeeper无法成功启动的问题,先分别启动了主节点和从节点的zookeeper进程,并且通过jps也看到zookeeper进程已经启动了,但通过指令查看进程状态的时 ...
- .net core mvc项目部署nginx报错一直显示404错误
遇到一个奇怪的问题,.net core mvc 项目部署到nginx上面,系统是linux,controller明明抛出500错误,但页面一直显示是404. 解决如下: 1.修改Startup.cs, ...
- 经典SQL语句集锦(收藏版)
文章来源:http://www.cnblogs.com/herbert/archive/2010/07/02/1770062.html SQL分类: DDL—数据定义语言(CREATE,ALTER,D ...
- POI 博客总结.....
主键类: HSSFRow row1= sheet.createRow(1); row.createCell(0).setCellValue("学生编号"); row.createC ...
- JavaSE之Java基础(3)
11.什么是值传递和引用传递? 值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值. 引用传递:也称为传地址.方法调用时,实际参数的引用被传递给方法 ...
- Bootstrap学习笔记(三)
三.组件 1.图标字体 图标字体本质是文字,而不是图形!可以无限放大或修改颜色. 使用方式:<span class="glyphicon glyphicon-XXX"> ...
- SpringBoot的日志管理
SpringBoot的日志管理 SpringBoot关于日志的官方文档 1.简述 SpringBoot官方文档关于日志的整体说明 本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官 ...
- 零基础逆向工程27_Win32_01_宽字符_MessageBox_win32调试输出
1 多字节字符 ASCII码表:0 ~ 2^7-1 扩展ASCII码表:2^7 ~ 2^8-1 什么是GB2312:1980年,两个字节存储一个汉字:不通用,别国会有乱码. UCICODE:只有一个字 ...
- HTTPS与SSL(一)
1. HTTPS HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版 ...
- JAVA和数据库工具的下载地址(备用)
sqlite数据库驱动下载: http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/