一、打印99乘法表:



# for i in range(1,10): #i=3
#     for j in range(1,i+1):
#         print('%s*%s=%s ' %(i,j,i*j),end='') #i=2 j=2
#     print()



二、打印金字塔:



'''            max_level=5
    *          current_level=1 空格数=4 星号=1
   ***         current_level=2 空格数=3 星号=3
  *****        current_level=3 空格数=2 星号=5
 *******       current_level=4 空格数=1 星号=7
*********      current_level=5 空格数=0 星号=9
“”“
max_level=5
for current_level in range(1,max_level+1):
    # 先不换行打印打印空格
    for x in range(max_level-current_level):
        print(' ',end='')
    # 再不换行打印*
    for y in range(2*current_level - 1):
        print('*',end='')
    print()



三、字符串类型的内置方法:

1 用途:记录描述性的状态,比如人的名字、地址、性别

2 定义方式:在"",'',""""""内包含一系列的字符



# msg='hello' #msg=str('hello')
# res1=str(1)
# res2=str([1,2,3])
# print(type(res1),type(res2))
# info="'xxx'"



3、 常用操作+内置的方法

优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取



msg='hello world'
print(msg[4])
print(msg[-1])
msg[3]='A'
name='egon'



2、切片(顾头不顾尾,步长)就是从一个大的字符串中切分出一个全新的子字符串



# msg='hello world' # print(msg[0:5])
# print(msg) # 没有改变原值

# print(msg[0:5:1])
# print(msg[0:5])
# print(msg[0:5:2])



了解:



# print(msg[0:5:1])
# msg='hello world'
# print(msg[5:0:-1])
# print(msg[5::-1])
# print(msg[-1::-1])
# print(msg[::-1])



3、长度len



msg='hello world'
print(len(msg))



4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中



# print('alex' in 'alex is dsb')
# print('dsb' in 'alex is dsb')
# print('sb' in 'alex is dsb')
# print('xxx' not in 'alex is dsb') # 推荐
# print(not 'xxx' in 'alex is dsb')



5、去掉字符串左右两边的字符strip,不管中间的



# user='      egon       '
# user='   x   egon       '
# user="*******egon********"
# user=" **+*  */***egon*  **-*****"
# print(user.strip("* +/-"))

# user=input('>>>: ').strip()
# if user == "egon":
#     print('用户名正确')



6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值



# msg="root:123456:0:0::/root:/bin/bash"
# res=msg.split(':')
# print(res[1])

# cmd='dowload|a.txt|3333333'
# cmd_name,filename,filesize=cmd.split('|')



7、循环



# msg='hello'
# for item in msg:
#     print(item)



需要你掌握的:

1、strip,lstrip,rstrip



# print('*****egon*****'.lstrip('*'))
# print('*****egon*****'.rstrip('*'))
# print('*****egon*****'.strip('*'))



2、lower,upper



# msg='aABBBBb'
# res=msg.lower()
# print(res)
# print(msg)



3、startswith,endswith



# msg='alex is dsb'
# print(msg.startswith('alex'))
# print(msg.endswith('sb'))
# print(msg.endswith('b'))



4、format的三种玩法



# print('my name is %s my age is %s' %('egon',18))
# print('my name is {name} my age is {age}'.format(age=18,name='egon'))
# 了解
# print('my name is {} my age is {}'.format(18,'egon'))
# print('my name is {0} my age is {1}{1}'.format(18,'egon'))



5、split,rsplit



# msg='get|a.txt|333331231'
# # print(msg.split('|',1))
# print(msg.split('|',1))
# print(msg.rsplit('|',1))



6、join



# msg='get|a.txt|333331231'
# l=msg.split('|')
# print(l)
#
# src_msg='|'.join(l)
# print(src_msg)



7、replace



# msg='alex say i have one tesla,alex is alex hahaha'
# print(msg.replace('alex','sb',1))
# print(msg)



8.isdigit # 判断字符串中包含的是否为纯数字



# print('10.1'.isdigit())
# age=input('>>: ').strip()
# if age.isdigit():
#     age=int(age) #int('asfdsadfsd')
#     if age > 30:
#         print('too big')
#     elif age < 30:
#         print('too small')
#     else:
#         print('you got it')
# else:
#     print('必须输入数字')



三、列表的内置方法:

1、 用途:存放多个值,可以根据索引存取值

2 定义方式:在[ ]内用逗号分割开多个任意类型的值

 3 常用操作+内置的方法

  1、按索引存取值(正向存取+反向存取):即可存也可以取,只能根据已经存在的索引去改值,如果索引不存在直接报错



l=['egon','lxx','yxx']
# print(l[0])
# l[0]='EGON'
# print(l)
# print(l[-1])
# print(l[3])
# l[0]='EGON' # 只能根据已经存在的索引去改值
# l[3]='xxxxxxxx'



  2、切片(顾头不顾尾,步长)



l=['egon','lxx','yxx',444,555,66666]
# print(l[0:5])
# print(l[0:5:2])
# print(l[::-1])



  3、长度



# l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
# print(len(l))



  4、成员运算in和not in



# l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
# print('lxx' in l)
# print(444 in l)



  5、追加



l=['egon','lxx','yxx']
# l.append(44444)
# l.append(55555)
# print(l)



  6、往指定索引前插入值



# l=['egon','lxx','yxx']
# l.insert(0,11111)
# print(l)
# l.insert(2,2222222)
# print(l)



  7、删除



# l=['egon','lxx','yxx']

# 单纯的删除值:
# 方式1:
# del l[1] # 通用的
# print(l)

# 方式2:
# res=l.remove('lxx') # 指定要删除的值,返回是None
# print(l,res)

# 从列表中拿走一个值
# res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值
# print(l,res)



  8、循环



# l=['egon','lxx','yxx']
# for item in l:
#     print(item)



  9、排序



# nums=[3,-1,9,8,11]
# nums.sort(reverse=True)
# print(nums)  #从小到大


# nums.sort() #从大到小
# print(nums)



 

 

  10、堆栈



# 队列:先进先出
# l=[]
# # 入队
# l.append('first')
# l.append('second')
# l.append('third')
# print(l)
# # 出队
# print(l.pop(0))
# print(l.pop(0))
# print(l.pop(0))

# 堆栈:先进后出
l=[]
# 入栈
l.append('first')
l.append('second')
l.append('third')
# print(l)
# 出栈
print(l.pop())
print(l.pop())
print(l.pop())



二:列表总结:

1 存多个值
2 有序
3 可变