s17data01

Pythen基础知识

1.py简介:

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

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

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<len(a):

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文件的操作

打开关闭文件

关键字open、closed

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(‘你购买商品成功‘)

时间: 2024-10-10 12:19:03

s17data01的相关文章