一个初学者的辛酸路程-了解Python-2

前言

blog花了一上午写的,结果笔记本关机了,没有保存,找不到了,找不到了啊,所以说,你看的每一篇blog可能都是我写了2次以上的…….哎!!

代码改变世界,继续.........

 

Python基础

 

一、Python的数据类型

1、int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

 

2、long(长整型)

为什么会有这个概念呢?

因为在Python2.2起,如果放置在内存里的数特别大发生溢出,Python就会自动将整型数据转换为长整型,但是现在,在Python3里就不存在长整型这么一说了,同意都是整型。

 

3、float(浮点型)

简单理解就是带有小数的数字

 

4、complex(复数)

复数是由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y呢是复数的虚数部分,这里的x和y都是实数。

 

5、布尔值(0或1)

就是真和假。

 

6、查看数据类型(type)

 1 >>> type(1) 
 2 <class 'int'> 
 3 >>> type(1.2) 
 4 <class 'float'> 
 5 >>> type(jixuege) 
 6 Traceback (most recent call last): 
 7   File "<stdin>", line 1, in <module> 
 8 NameError: name 'jixuege' is not defined
 9 
10 上面报错原因就是没有用双引号引起来,他就不是字符串,而是认为是一个变量。 
11 >>> type("jixuege") 
12 <class 'str'>

 

二、for和while循环

这里呢就需要涉及到break和continue的区别了。

如何理解呢?

break: 只能跳出当前循环,当前这一套循环就结束了。

continue: 跳出当次循环,然后呢还会去继续下一次别的循环。

举个栗子:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 #Author: Leon xie
 4 
 5 
 6 for n in range(4):
 7     print(n)
 8     for j in range(3):
 9         if  j <2:
10         #如果j小于2就跳出当次循环,继续一下次循环
11             continue
12         print(n,j)
打印结果如下:
0
0 2
1
1 2
2
2 2
3
3 2

 

说明:

在第二次的if判断中,我执行条件,如果j小于2就跳出当次循环,继续一下次循环

下面我们就看看break的使用

同样的代码,咋们接着看

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: Leon xie


for n in range(4):
    print(n)
    break
    for j in range(3):
        if  j <2:
        #如果j小于2就跳出当次循环,继续一下次循环
            continue
        print(n,j)
打印结果如下:

0

小结:
个人来说明一下,二者的区别,continue呢用于我有很多次循环,然后呢,我不希望哪次循环执行下面的动作,就可以了使用continue ,而break呢就是我这次循环了以后我想跳出去不在循环,或者呢就是我写了一段代码,我想跳出去看看代码是否能执行,就可以用break呢。
 

三、Python的数据类型

 
1、整型int
可以直接理解为整数
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
 
2、浮点型float
可以直接理解为带小数的数字。
 
3、复数complex

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

4、布尔值(0或1)

表示真或者假

5、查看数据类型

使用type即可。

>>> type("xiedi")
<class 'str'>
>>> type("2")
<class 'str'>
>>> type(2.2)
<class 'float'>
>>> type(2)
<class 'int'>
>>>

 

这里有个地方需要注意,就是数字不需要加引号,如果加了就是字符串。

 

四、Python字符串基本操作

1、判断是不是合法的标识符isidentifier

name="ABC"
print(name.isidentifier())
打印结果
True
2、首字母大写capitalize
name= 'abc'
print(name.capitalize())
打印结果
Abc

3、计数count
name= 'abc'
print(name.count("a"))
打印结果
1

4、位于中心,用-来补充center
name= 'abc'
print(name.center(50,"-"))
打印结果
-----------------------abc------------------------

5、判断是否以c结尾endswith
name= 'abc'
print(name.endswith("c"))
打印结果
True

6、把回车换成空格expandtabs
name = "a\tbc"
print(name.expandtabs(tabsize=10))
打印结果
a         bc

7、查看某字符下标find
name= 'abc'
print(name.find('c'))
打印结果
2

8、将字符小写lower
print("XIEDI".lower())
打印结果
xiedi

9、将字符大写upper
print("xiedi".upper())
XIEDI
 

 

五、Python列表基本操作

记住一句话,叫做顾首不顾尾

首先我们来定义一个列表

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

接下来,我们就对这个列表来进行一系列的操作

 

1、切片

取值,取第一个和第二个

print(name[0],name[1])
打印结果
jixuege dajiba

说明:

上面的0和1指的是小标,从左到右顺序就是从0开始一直到4

 

打印一个区间

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

print(name[:2])
打印结果
['jixuege', 'dajiba']

打印最后一个
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
print(name[-1])
打印结果
youtianai

2、追加
比如说我想追加一个人进去
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name.append("xiha")
print(name)
打印结果

['jixuege', 'xitong', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai', 'xiha']

这个会追加到末尾

还有一种就是插入insert

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.insert(2,"youhua")
print(name)
打印结果
['jixuege', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai']
 

3、修改

直接修改即可

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name[2]="wuming"
print(name)
打印结果
['jixuege', 'dajiba', 'wuming', 'cangjinkong', 'youtianai']

 

4、删除

直接清空

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name.clear()
print(name)
打印结果
[]
 
删除指定元素
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name.remove("jixuege")
print(name)
打印结果

['dajiba', 'boduoye', 'cangjinkong', 'youtianai']

 

删除指定下标

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
del name[2]
print(name)
打印结果
['jixuege', 'dajiba', 'cangjinkong', 'youtianai']

不指定下标删除最后一个
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name.pop()
print(name)
打印结果
['jixuege', 'dajiba', 'boduoye', 'cangjinkong']

指定下标
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
name.pop(1)
print(name)
打印结果
['jixuege', 'boduoye', 'cangjinkong', 'youtianai']

 

六、蛋疼的购物车程序练习

要求:

1、用户输入工资,打印出商品的列表

2、用户根据编号来进行购买商品

3、用户选择商品之后,先检测额度是否够用,直接扣款和温馨提示余额不足

4、可以随时退出,退出并打印出已购商品列表和余额。

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 #Author: Leon xie
 4 
 5 product_list = [
 6         ["Iphone",5800],
 7         ["MAC PRO",16800],
 8         ["Bike",800],
 9         ["Coffee",30],
10 ]
11 
12 shopping_list = []
13 
14 salary = input("请输入你的工资:")
15 #判断是否为数字
16 if salary.isdigit():
17     salary = int(salary)
18     while True:
19         for index,item in enumerate(product_list):
20             #打出菜单
21             print(index,item[0],item[1])
22 
23         choice = input("请选择要购买的商品编号[quit]>>:")
24         if choice.isdigit():
25             choice = int(choice)
26             if choice >=0 and choice < len(product_list):
27                 #判断钱是否够用
28                 p = product_list[choice]
29 
30                 if p[1] <= salary:
31                     shopping_list.append(p)
32                     salary -= p[1]
33                     print("Added \033[32;1m[%s]\033[0m into your shopping cart,and your current balance is \033[1;31;40m%s\033[0m"%(p,salary))
34                 else:
35                     print("钱不够,你只有 \033[5;31;42m[%s] \033[0m "% salary)
36             else:
37                 print("没有此商品...")
38 
39         elif choice == "quit":
40             print("已购买的商品".center(50,"-"))
41             for i in shopping_list:
42                 print(i)
43             print("Your left balance is ",salary)
44             exit()
45         else:
46             print("未识别,请输入正确的指令!!")
View Code

购物车效果如下所示:

 

posted @ 2016-10-19 16:47  我还可以试试  阅读(1466)  评论(0编辑  收藏  举报