Python 基础总结
1.执行python脚本的两种方式:
答:1、./run.py.shell直接调用python脚本
2、python run.py 调用python 解释器来调用python脚本
5.python单行注释和多行注释分别是什么?
答:单行注释用#,多行注释用三引号
6.声明变量注意事项有哪些?
答:1.变量名只能是数字、字母、下划线的任意组合
2.变量名的第一个字符不能为数字
3.python关键字不能用作变量名
8.如何查看变量在内存中的地址?
答:用id(变量名) 即可查看变量在内存中的地址
9.执行python程序时,自动生成的.pyc文件的作用是什么?
答:pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,py文件是可以直接看到源码的,所以就需要编译为pyc后,再发布出去,实现部分源码的隐藏.
10.写代码
a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则显示登陆失败.
name=input("请输入用户名:").strip()
pwd=input("请输入密码:").strip()
if name=="seven" and pwd=="":
print("登陆成功")
else:
print("登陆失败")
b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则显示登陆失败.失败时允许重复输入3次
count=0
while count<3:
count+=1
name=input("请输入用户名:").strip()
pwd=input("请输入密码:").strip()
if name=="seven" and pwd=="":
print("登陆成功")
break
else:
print("登陆失败")
continue
c.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则显示登陆失败.失败时允许重复输入3次
count=0
while count<3:
count+=1
name=input("请输入用户名:").strip()
pwd=input("请输入密码:").strip()
if name=="seven"or name=="alex" and pwd=="":
print("登陆成功")
break
else:
print("登陆失败")
continue
11.写代码
a.使用while循环输出2-3+4-5+6..+100的和
count=1
s=0
while count<100:
count+=1
s+=(-1)**count*count
print(s)
b.使用for循环和range实现1-2+3-4+5-6...+99的和
s=0
for i in range(1,100):
s+=-(-1)**i*i
print(s)
C.使用while循环输出1,2,3,4,5 7,8,9 11,12
count=0
while count<12:
count+=1
if count==6 or count==10:
continue
print(count,end=" ")
d.使用while循环输出1-100内的所有基数
count=0
while count<100:
count+=1
if count%2!=0:
print(count)
e.使用while循环输出1-100内的所有偶数
count=0
while count<100:
count+=1
if count%2==0:
print(count)
11.分别书写数字5,10,32,7的二进制
#5=2**2+2**0
#5对应的二进制为 101
print(bin(5)) #10=2**3+2**1
#10对应的二进制为1010
print(bin(10)) #32=2**5
#32对应的二进制为100000
print(bin(32)) #7=2**2+2**1+2**0
#7对应的二进制 111
print(bin(7))
14.现在有如下两个变量,请简述n1和n2是什么关系?
n1=123
n2=123
答: n1和n2的id(内存地址) 值 和type都相等
15.现在有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=123456
答:n1和n2的id(内存地址)不等 type不同,值相同,分别指向两个相同的数值123456
16.现在有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=n1
答:n1和n2的id(内存地址) 值 和type都相等
17.如果有一个变量n=5,请使用int提供的方法,得到该变量最少可以用多少个二进制表示?
n=5
print(n.bit_length())
18.布尔值分别有什么?
答:布尔值有True和False
19.阅读代码,写出执行结果:
a="alex"
b=a.capitalize()
print(a)
print(b)
答:alex Alex
20.写代码,有如下代码,按要求实现每个功能:
name=" aleX"
__author__ = 'Administrator'
name=" aleX"
#a.移除两边对应的空格,并输入移除后的内容
print(name.strip())
#b.判断name变量对应的值是否以“al”开头,并输出结果
print(name.startswith("al"))
#c.判断name变量对应的值是否以“X”结尾,并输出结果
print(name.endswith("X"))
#d.将name变量值中的“l”替换为“p‘并输出结果
print(name.replace("l","p"))
#e.将name变量对应的值根据”l“切分,并输出结果
print(name.split("l"))
#f.上一题e中分割之后的值是什么类型
print(type(name.split("l")))
#g.将name变量对应的值变为大写,并输出值
print(name.upper())
#h.将name变量对应的值变为小写,并输出值
print(name.lower())
#i请输出name变量对应的值的第二个字符
print(name[1])
#j请输出name变量对应的值的前3个字符
print(name[:3])
#k请输出name变量对应的值的后2个字符
print(name[-2:])
#l 请输出name变量对应的值中”e“所在的索引位置
print(name.index("e"))
21.字符串是否可以迭代,如果可以请使用否循环迭代每一个元素。
答:可以的
a="abcdefg"
for i in range(len(a)):
print(a[i])
22.写代码,按要求实现功能
__author__ = 'Administrator'
li=["alex","erin","rain","aa","bb","cc"]
#a.计算列表的长度并输出
print(len(li))
#b.列表中追加元素”seven“,并输出添加后的列表
li.append("seven")
print(li)
#c.请在列表的第一个位置插入元素”tony“,并输出添加后的列表
li.insert(0,"Tony")
print(li)
#d.请修改列表第二个元素为"kelly",并输出修改后的列表
li[1]="kelly"
print(li)
#e.请删除列表中的”eric“,并输出修改后的列表
li.remove("erin")
print(li)
#f.删除列表的第二个元素,并输出删除的元素和删除后的列表
aa=li.pop(1)
print(aa)
print(li)
#g请删除列表中的第三个元素,并输出删除后的列表
li.pop(2)
print(li)
#h.请删除列表中的第2-4个元素,比输出删除后的列表
li.pop(1)
li.pop(1)
li.pop(1)
print(li)
#i将列表所有元素反转,并输出反转后的列表
li.reverse()
print(li)
#j请使用for in range 输出列表的索引
for i in range(len(li)):
print(i)
#k请使用enumberate输出列表元素和序号(序号从100开始)
for i,j in enumerate(li,start=100):
print(i,j)
#l请使用for循环输出所有元素
for i in li:
print(i)
23.写代码,按要求实现功能:
li=["hello","seven",["moon",["h","kelly"],"all"],123,456]
__author__ = 'Administrator'
li=["hello","seven",["moon",["h","kelly"],"all"],123,456]
#a.请输出kelly
print(li[2][1][1])
#b.请使用索引找到”all”元素,并将其修改为“ALL”
print(li[2][2].upper())
)
24.写代码,有下面元组.按要求实现功能
__author__ = 'Administrator'
tu=("alex","eric","rain")
#a.计算元组长度并输出
print(len(tu))
#b.获取元组的第二个元素,并输出
print(tu[1])
#c.获取元组的第1-2个元素,并输出
print(tu[:2])
#d.请使用for循环输出元组的元素
for i in tu:
print(i)
#e.请使用 for len range 输出元组的索引
for i in range(len(tu)):
print(i)
#f使用enumberate输出元组的元素和序号。序号从10开始
for i,j in enumerate(tu,10):
print(i,j)
25 有如下元组,按要求实现以下功能
tu=("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元组的特性:
答:1、有序的集合,可以存放多个值
2、通过偏移来取数据
3、属于不可变的对象,不能在修改内容
b.元组里的第一个元素”alex”可以不可以修改?
答:不可以修改
C.tu中的元素k2对应的值是什么类型,可不可以修改,如果能修改,则向其添加一个元素seven。
答:k2对应的值是list(列表).可以修改
tu=("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
print(tu[1][2]["k2"])
print(type(tu[1][2]["k2"]))
tu[1][2]["k2"].append("seven")
print(tu)
d.tu中的元素k3对应的值是什么类型,可不可以修改,如果能修改,则向其添加一个元素seven。
答:k3对应的值类型是元组,不可以修改
26字典
dic={"k1":"v1","k2":"v2","k3":[11,22,33]}
__author__ = 'Administrator'
dic={"k1":"v1","k2":"v2","k3":[11,22,33]}
#a.请循环输出所有key
for k in dic:
print(k)
#b.请循环输出所有value
for v in dic.values():
print(v)
#c.请循环输出所有key,value
for k,v in dic.items():
print(k,v)
#d.请在字典中添加一个键值对k4,v4,输出添加后的字典
dic["k4"]="v4"
print(dic)
#e.请修改字典中k1对应的值为alex,输出修改过后的字典
dic["k1"]="alex"
print(dic)
#f.请在k3对应的值中添加一个元素44,输出修改后的字典
dic["k3"].append(44)
print(dic)
#g.请在k3对应的值的第一个位置插入18,输出修改后的字典
dic["k3"].insert(0,18)
print(dic)
27 转换
#1.将字符串s=”alex”,转换成列表 s="alex"
l=list(s)
print(l) #2.将字符串s=”alex”,转换成元组 s="alex"
t=tuple(s)
print(t) #3.将列表li=[“selx”,”seven”]转换成元组 l=["alex","seven"]
t=tuple(l)
print(t) #4.将元组tu=(“alex”,”seven”)转换成列表 t=("alex","seven")
l=list(t)
print(l) #5..将列表li=[“selx”,”seven”]转换成字典且字典的key按照10开始向后递增 l=["alex","seven"]
d={}
for i,j in enumerate(l,start=10):
d[i]=j
print(d)
28.求1-100所有的和
s=0
for i in range(1,101):
s+=i
print(s)
29.元素分类
有如下集合[11,22,33,44,55,66,77,88,99],将大于66的放在集合的第一个key中,小于66的放在集合的第二个key中
l=[11,22,33,44,55,66,77,88,99]
d={"k1":[],"k2":[]}
for i in l:
if i>66:
d["k1"].append(i)
elif i<66:
d["k2"].append(i)
print(d)
30.购物车
功能要求:
要求用户输入总资产:如2000
显示商品列表;用户按序号选择商品,加入购物车
购买,如果商品总金额大于总资产.则提示余额不足,否则购买成功
goods=[
{"name":"电脑","price":1999},
{"name":"鼠标","price":10},
{"name":"游艇","price":20},
{"name":"美女","price":998}
]
good_d={}
good_l=[]
tag=True
flag=True
while tag:
allmoney=input("请输入总资产:").strip()
if allmoney.isdigit():
for good in goods:
print("{}.name:{name} price:{price}".format(goods.index(good)+1,name=good["name"],price=good["price"]))
good_d[goods.index(good)+1]=[good["name"],good["price"]] while tag:
number=int(input("请输入要购买商品的序号:").strip())
if not number or number not in good_d:
print("输入错误。请重新输入:")
continue
else:
flag=True
while flag:
count=input("请输入要购买商品的件数:").strip()
if count.isdigit():
allprice=good_d[number][1]*int(count)
if allprice<=int(allmoney):
good_l.append((good_d[number][0],good_d[number][1],count))
allmoney=int(allmoney)- allprice
print("你的余额为",allmoney)
print(good_l)
break
else:
print("你的余额不足,请重新选择商品")
while True:
cmd=input("请输入命令,输入Y表示继续购物,输入N表示退出结账")
if cmd=="Y":
flag=False
break
elif cmd=="N":
flag=False
tag=False
break else:
print("输入命令有误")
continue else:
print("输入有误。请重新输入:")
continue else:
print("总金额必须是数字且不能为空!")
Python 基础总结的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- eclipse 列编辑
ALT + SHIFT +A 进入列编辑模式,可以一次性操作多行列. 再次按住 ALT + SHIFT +A 则退出列编辑模式.
- Ubuntu下使用Git_5
还欠大家最后一篇Git的学习. Git的下一个内容,标签,标签是为了更方便的参考提交而给他表上通俗易懂的名称 Git可以使用两种标签,轻标签和注解标签,打上的标签是固定的,不能向分支那样可以移动位置, ...
- QSS 的选择器
本文连接地址:http://www.qtdebug.com/QSS-Selector.html 选择器决定了 style sheet 作用于哪些 Widget,QSS 支持 CSS2 定义的所有选择器 ...
- Python 3基础教程21-列表和元组
本文介绍列表也元组,先来看看他们的定义. # 元组和列表 # 元组的定义 x = 5,6,2,6 # 或者这样写 x = (5,6,2,6) # 列表定义 y = [5,6,2,6] # 元组的使用, ...
- zabbix 通过key(键值)获取信息
在agent端进行修改264行,例如: UserParameter=get.os.type,head -1 /etc/issue 保存重启agent 验证 zabbix_get -s IP -k ge ...
- 【java并发编程实战】第八章:线程池的使用
1.线程饥饿锁 定义:在线程池中,如果任务的执行依赖其他任务,那么可能会产生线程饥饿锁.尤其是单线程线程池. 示例: public class ThreadDeadStarveTest { publi ...
- 10-Mysql数据库----数据的增删改
本节重点: 插入数据 INSERT 更新数据 UPDATE 删除数据 DELETE 再来回顾一下之前我们练过的一些操作,相信大家都对插入数据.更新数据.删除数据有了全面的认识.那么在mysql中其实最 ...
- python 基础篇 12 装饰器进阶
本节主要内容:1. 通⽤装饰器回顾2. 函数的有⽤信息3. 带参数的装饰器4. 多个装饰器同时装饰⼀个函数 ⼀. 通⽤装饰器的回顾开闭原则: 对增加功能开放. 对修改代码封闭装饰器的作⽤: 在不改变原 ...
- 洛谷P1189'SEARCH'
题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移动路线的方向信息. 编写程 ...
- Internet History,Technology and Security
Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...