python之路,Day5 -Python基础

本节内容:

1.字符串对应的操作

2.for后面也可以跟else语句,但是不可以跟elif 以及while后面跟else语句

3.标志位的处理

4.列表的操作

5.购物车程序的编写

一.字符串对应的操作

# 1   * 重复输出字符串

print('hello'*2)

# 2 [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表

print('helloworld'[2:])

# 3 in  成员运算符 - 如果字符串中包含给定的字符返回 True

print('el' in 'hello')

# 4 %   格式字符串

print('alex is a good teacher')

print('%s is a good teacher'%'alex')

# 5 +   字符串拼接

a='123'

b='abc'

c='789'

d1=a+b+c

print(d1)

# +效率低,该用join

d2=''.join([a,b,c])

print(d2)

二.for后面也可以跟else语句,但是不可以跟elif

While后面跟else语句:

三.标志位的处理

四.列表的操作

列表,元组

        

            索引(下标) ,都是从0开始

            切片

            .count 查某个元素的出现次数

            .index 根据内容找其对应的位置

            "haidilao ge" in a

        增加

            a.append() 追加

            a.insert(index, "内容")

            a.extend 扩展,a列表发生了变化,谁调用extend列表本身发生了变化

c=a+b,ab列表都没有发生变化,a+b获得一个新的列表

        修改

            a[index] = "新的值"

            a[start:end] = [a,b,c]

        删除

            remove("内容")

            pop(index)#指定索引值,不指定默认删除最后一个元素,pop是有返回值的

            del a, del a[index]

            a.clear() 把列表清空只剩下[]

        排序

            sort ()#可以对数字和字母进行排序,字母是按照ascii码进行排序的,sort()里面的参数reverse=True是按照从大到小进行排序,默认情况下reverse=False

            reverse()

        身份判断

            >>> type(a) is list

            True

            >>>

 对应操作:

1 查([])

names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:]) 

2 增(append,insert)

insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象

names_class2.append( 'alex' )
names_class2.insert( 2 , 'alvin' )
print (names_class2)

3 改(重新赋值)

names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
names_class2[ 3 ] = '赵七'
names_class2[ 0 : 2 ] = [ 'wusir' , 'alvin' ]
print (names_class2)

4 删(remove,del,pop)

names_class2.remove( 'alex' )
del  names_class2[ 0 ]
del  names_class2
names_class2.pop() #注意,pop是有一个返回值的
 

 5.extend

extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6
extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。
>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6
>>> 
>>> a  + 
[ 1 2 3 4 5 6 4 5 6
>>> a 
[ 1 2 3 4 5 6
 
 
五.购物车程序的编写
# -*- coding: utf-8 -*-
# @Time    : 2018/8/13 9:39
# @Author  : yh
# @FileName: homework.py
"""
购物车程序
        salary = 5000
        1.  iphone6s  5800
        2.  mac book    9000
        3.  coffee      32
        4.  python book    80
        5.  bicyle         1500
      >>>:1
         余额不足,-3000
      >>>:5
      已加入bicyle 到你的购物车, 当前余额:3500
      >>>:quit
      您已购买一下商品
      bicyle    1500
      coffee    30
      您的余额为:2970
      欢迎下次光临
"""
product_list=[
    ('iphone6s',5800),
    ('mac book',9000),
    ('coffee',32),
    ('python book',80),
    ('bicycle',1500),
]
money=input('请输入你的金额:')
goods_list=[]
if money.isdigit():
    money=int(money)
    while True:
        choice=input('选择购买商品编号[退出:q]:')
        if choice.isdigit():
            choice=int(choice)
            if choice<len(product_list) and choice>=0:
                goods=product_list[choice]
                if goods[1]<money:
                    money -=goods[1]
                    goods_list.append(goods)
                    print('您当前的余额是%s'%money)
                else:
                    print('余额不足:%s'%(money-goods[1]))
            else:
                print('您输入的编号有误')
        elif choice=='q':
            print('----------您已经购买如下产品-----------')
            for i in goods_list:
                print(i)
            print('您的余额是%s'%money)
            break
        else:
            print('无效的输入')





# print('购物车程序')
# salary=5000
# msg=input("""
# 请选择:
# 1.iphone6s 5800
# 2.mac book 9000
# 3.coffee 32
# 4.python book 80
# 5.bicyle 1500
# """)
# goods=[]
# while salary>0:
#     input_message = input('>>>:')
#     if input_message=='1':
#         print('余额不足:',(salary-5800))
#     if input_message=='2':
#         print('余额不足:',(salary-9000))
#     if input_message=='3':
#         goods.append('coffee')
#         print('已经加入coffee到你的购物车,当前余额:%s'%(salary-32))
View Code

对应操作:

1 查([])

1
2
3
4
5
6
7
8
9
10
names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:]) 

2 增(append,insert)

insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象

1
2
3
names_class2.append( 'alex' )
names_class2.insert( 2 , 'alvin' )
print (names_class2)

3 改(重新赋值)

1
2
3
4
5
names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
names_class2[ 3 ] = '赵七'
names_class2[ 0 : 2 ] = [ 'wusir' , 'alvin' ]
print (names_class2)

4 删(remove,del,pop)

1
2
3
4
names_class2.remove( 'alex' )
del  names_class2[ 0 ]
del  names_class2
names_class2.pop() #注意,pop是有一个返回值的 

5 其他操作

5.1  count

       count 方法统计某个元素在列表中出现的次数:

1
2
3
4
5
6
7
>>> [ 'to' 'be' 'or' 'not' 'to' 'be' ].count( 'to'
2 
>>> x  =  [[ 1 , 2 ],  1 1 , [ 2 1 , [ 1 2 ]]] 
>>> x.count( 1
2 
>>> x.count([ 1 , 2 ]) 
1

5.2 extend

         extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

1
2
3
4
5
>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6

  extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

1
2
3
4
5
6
7
8
9
10
>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6
>>> 
>>> a  + 
[ 1 2 3 4 5 6 4 5 6
>>> a 
[ 1 2 3 4 5 6

5.3  index

       index 方法用于从列表中找出某个值第一个匹配项的索引位置: 

1
names_class2.index( '李四' )

5.4  reverse

       reverse 方法将列表中的元素反向存放。

1
2
names_class2.reverse()
print (names_class2)

5.5  sort

       sort 方法用于在原位置对列表进行排序。

1
2
=  [ 4 6 2 1 7 9 ]
x.sort() #x.sort(reverse=True)

猜你喜欢

转载自www.cnblogs.com/summer666/p/Summer05.html