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 = [123
>>> b = [456
>>> a.extend(b) 
>>> a 
[123456
extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。
>>> a = [123
>>> b = [456
>>> a.extend(b) 
>>> a 
[123456
>>> 
>>> a + 
[123456456
>>> a 
[123456
 
 
五.购物车程序的编写
# -*- 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], 11, [21, [12]]] 
>>> x.count(1
2 
>>> x.count([1,2]) 
1

5.2 extend

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

1
2
3
4
5
>>> a = [123
>>> b = [456
>>> a.extend(b) 
>>> a 
[123456

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

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

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
= [462179]
x.sort()#x.sort(reverse=True)

posted on 2018-08-13 12:50  summer666  阅读(227)  评论(0)    收藏  举报