Pythen基础知识

1.py简介:

Py语言是由代码转换成c字节码然后再转换成机器码

编码类型:ascll、万国码、utf-8gbk(汉字)

2.py基础知识

2.1py变量

变量命名:

  1. 通俗易懂

  2. 用一定含义的变量命名

  3. 字母、数字、下划线命名,不能以下划线开头,不能使用py的关键字命名

  4. 2输入、输出语句

代码示例:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import getpass   #调用getpass模块
user_name=input("请输入你的名字:")
user_passwrd=getpass.getpass("请输入你的密码:") #不显示密码的输出,需要命令行测试
print(user_name)

2.3if语句

1.简单的判断

if 条件:    #py用冒号和空格来区分条件的结束

         条件符合,go

else:

         条件不符,go

2.有区间的条件判断

if 条件:

         条件符合,go

elif 条件:

条件符合,go

……

else :

         条件不符,go

3.if的嵌套

代码示例:

user_chengji=input('请输入你的成绩:')
a=int(user_chengji)
if a>90 :
    print("你的成绩是优秀的")
elif a<=90 and a>80 :
    print("你的成绩是良好的")
else :
    print('你的成绩有待提高')

2.4循环语句:

 

While 条件:

         进入循环

         breake跳出整个循环

         contine结束本次循环,开始限一次循环

代码示例:

while True:

   user_chengji=input('请输入你的成绩:')

   a=int(user_chengji)

    ifa>90 :

       print("你的成绩是优秀的")

    elifa<=90 and a>80 :

       print("你的成绩是良好的")

    else:

       print('你的成绩有待提高')

       break

2.5py的运算符:

数值运算符号:

+-*/%(求余)、**(幂运算)、//(求商)、=(赋值)、==(等于)…..支持常规的日常运算

in not and or

 

2.6py的数据类型:

2.6.1数值类型

定义数值类型的关键字:int

A=input(‘…’)

num=int(A)

 

2.6.2字符串类型

定义字符串变量的关键字:str

A=”hahahah”

A=‘hahahah’

A=’‘’haha

hhaha

‘’‘

A=str(‘hahahah’)

对字符串的常见操作:

  1. 字符串的拼接

User_name=’hjg’

User_age=’28’

User_sex=’nan’

User_info= User_name+ User_age+ User_sex

print(User_info)

  1. 字符串的占位符

%s

User_info=”hahhha,hhhh%s,hehheh%s”%(‘ggg’,’jjj’,)

  1. 跳过空白

关键字strip

a.      strip()左右跳过

b.      lstrip()从左跳过

c.      rstrip()从右跳过

  1. 字符串的分割

关键字:split默认分割所有,有需求指定分割单位

a.      split(‘分割符’)

b.      split(‘分割符’, 分割单位)

c.      rsplit(‘分割符’,分割单位)

d.      示例:

a='hshshs|hsh|jjs'

new_a=a.rsplit('|',1)

print(new_a)

['hshshs|hsh', 'jjs']

 

a='hshshs|hsh|jjs'

new_a=a.split('|')

print(new_a)

['hshshs', 'hsh', 'jjs']

  1. 字符串的长度计算

关键字len

A=’hhhhh’

B=len(A)

  1. 索引

a[]来引用定义字符串的单个字符,默认从0开始

a='hshshs|hsh|jjs'

i=0

while i

   print(a[i])

i+=1

  1. 字符串的切片

取定义字符串的固定长度重新整合,通过索引来切片

name = '我叫李杰,性别我今年岁,我在说谎!'

print(name[0:5:2])

2表示步长

2.6.3列表类型

关键字list

创建一个列表

A=[‘元素1’元素2‘…]

A=list([‘元素1’元素2‘…])

索引、长度、切片的操作同字符串一样

a.      向列表的最后追加元素

关键字append

A=[‘ss’,’sssss’,225]

  1. append(‘ooo’)

b.      通过索引插入元素

关键字:insert

A=[‘ss’,’sssss’,225]

  1. insert(1,’hhahah’)

c.      删除列表中的元素

关键字:remove

A=[‘ss’,’sssss’,225]

  1. remove(‘225’)

d.      更新列表元素

通过索引来更新列表的元素

A=[‘ss’,’sssss’,225]

A[0]=’SSS’

e.      打印列表的每一个元素

list_a=['hjg','',28]

for i in list_a:

   print(i)

f.       常用列表的关键字:

append末尾追加

pop 末尾删除

insert 指定插入

remove 指定删除

reverse 反转

sort 排序

extend 扩展叠加

切片name_list[0:1:2]name_list[-2:]…….

Count 统计

Index 索引

Clear 清楚列表

2.6.4字典类型(键值对)

         定义:

         User_info={

                                     ‘name’:’hjg’,

                                     ‘Password’:’123’,

}

               # 常用操作

               # 索引获取值

               # n = v['name']

               # print(n)

               # 增加,无,增加;有,修改

               # v['age'] = 19

               # print(v)

               # 删除

               # del v['name']

                # print(v)

               # 循环

               # for item in v.keys():

               #     print(item)

               # for item in v.values():

               #     print(item)

               # for key,val in v.items():

               #     print(key,val)

               print(len(user_dict))

               PS: 相互嵌套

               user_dict = {

                    'k1': 'v1',

                    'k2':{'kk1':'vv1','kk2':'vv2'},

                    'k3': 123,

                    'k4':['alex','eric',['a','b','c'],'李杰',{'k11':'vv1'}],

               }

               user_dict['k4'][2].append('123')

               user_dict['k4'][4]['n'] = '过啥龙'

               应用:

                    user_list = [

                       {'name':'alex','pwd':'123123','times':1},

                       {'name':'eric','pwd':'123123','times':1},

                       {'name':'tony','pwd':'123123','times':1},

                    ]

                    user = input('用户名:')

                    pwd = input('密码:')

                    for item in user_list:

                        if user == item['name']and pwd == item['pwd']:

                            print('登录成功')

                            break

2.7py文件的操作

         打开关闭文件

         关键字openclosed

1. 打开并读取文件内容

f1 = open('db','r')

data = f1.read()

f1.close()

2. 重新写入文件

target ="""alex|123123|3\neric|123123|3"""

f2 = open('db','w')

f2.write(target)

f2.close()

day01练习题:

a. 元素分类

有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1':大于66的所有值, 'k2': 小于66的所有值}v2 = {'k1': [],'k2':[] }

代码如下:

v1=[11,22,33,44,55,66,77,88,99]

v2={'k1':[],'k2':[]}

for i in v1:

    ifi>66:

       v2['k1'].append(i)

    elifi<66:

       v2['k2'].append(i)

    else:

       pass

 

print(v2)

 

b. 功能要求:

v = 2000要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [{"name": "电脑","price": 1999},{"name": "鼠标","price": 10},{"name": "游艇","price": 20},{"name": "美女","price": 998},]

file1=open('db','r')

data=str(file1.read())

file1.close()

user_goods_list=[]

for i in data.split("\n"):

   a=i.split('|')

   goods_info={'goodsnum':a[0],

               'goodsname':a[1],

               'goodsprice':a[2],

               }

   user_goods_list.append(goods_info)

user_total_monoey=int(input('请输入你预算的monoey>>>:'))

#print(user_total_monoey)

# print(user_goods_list)

for item in user_goods_list:

   print(item['goodsnum'],item['goodsname'],item['goodsprice'])

user_consumption=0

while True:

   num=input('请输入你想要买的商品编号,如果想退出请按9')

   user_num=int(num)

    ifuser_num == 9:

       break

    else:

       user_consumption=user_consumption+int(user_goods_list[user_num]['goodsprice'])

if user_consumption>user_total_monoey:

   print('你购买的商品超过你的预算,余额不足。。。')

else:

    print('你购买商品成功')