python学习day05

三个引号:①打印多行②注释

集成开发环境(IDE)

  ①VIM:经典的linux下的文本编辑器

  ②Emacs:文本编辑器,比VIM更容易使用,linux

  ③Eclipse:java IDE,支持python,c,c++

  ④Visual Studio:微软的IDE

  ⑤notepad++,sublime(python开发的)

  ⑥pycharm:主要用于python开发的IDE

 

Pycharm:

  ①code template:创建python时自动生成开头作者以及日期,"#"后面跟空格,截图有错误

# __author: ${USER}
# date: ${DATE}

 

字符串格式化的输出:

name = input("Name:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:")

msg = '''
----- info is %s ------
Name: %s
Age: %s
Job: %s
Salary: %s
--------- end ---------
''' % (name,name,age,job,salary)

print(msg)
占位符

# %s: s == string

# %d: d == digit
# %f: f == float 浮点数, 约等于小数

 

整型,长整型表示数字大小不一样,python3中不区分,python2中才区分

布尔:只有两种状态

  ①真true

  ②假false

标志位:flag

username_true = "igenius"
password_true = "123456"

pass_authentication = False  # flag = 标志位

for i in range(3):
    username = input("username=")
    password = input("password=")

    if username ==  username_true and password == password_true:
        print("welcome")
        pass_authentication = True 
        break#跳出,中断
    else:
        print("Incorrect username or password! Please try again")


if not pass_authentication:
    exit(" inhibiting input")

 for循环后的else:

username_true = "igenius"
password_true = "123456"

for i in range(3):
    username = input("username=")
    password = input("password=")

    if username ==  username_true and password == password_true:
        print("welcome")
        break#跳出,中断 #break, for后面的else不会执行
    else:
        print("Incorrect username or password! Please try again")
else:  #只要for循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句
    exit(" inhibiting input")

while循环后的else:

username_true = "igenius"
password_true = "123456"

counter = 0

while counter < 3:
    username = input("username=")
    password = input("password=")

    if username ==  username_true and password == password_true:
        print("welcome")
        break#跳出,中断 #若while被break,则后面的else不会被执行
    else:
        print("Incorrect username or password! Please try again")
    counter += 1
        
else:       #只要while循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句
    exit(" inhibiting input")

 Debug模式:添加断点以及查看数据等

 

break,continue

exit_flag = False
for i in range(10):
    if i > 5:
        continue  # continue 跳出当前一级循环的当次循环
    print(i)
    for j in range(10):
        print("level2", j)
        if j > 3:
            exit_flag = True
            break  # break 只能跳出当前一级的整个循环,不能跳出上一级的循环
    if exit_flag:
        break  # 通过标志位,可以在j>3的时候跳出该级循环,即实现了当j>3跳出了两级循环

 

列表list:增删查改

a = ["zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang"]

#
#  冒号为切片slice
print(a[2])
print(a[2: 6])  # 左包括,右不包括,结果有a[2],没有a[6]
print(a[2:])  # 冒号后面为空即为查询到最后一个
print(a[2: 7: 1])  # 1为步长,默认即为1,从左向右一个接一个的查询
print(a[2: 7: 2])  # 2为步长,默认为1,从左向右一个隔一个的查询
print(a[2: 7: -1])  # -1为步长,其中"-"指从右向左,但是此时起始位置必须比结束位置大,否则查询为空
print(a[7: 2: -1])  # 起始位置必须比结束位置大,否则查询为空
print(a[7:: -1])  # 结束位置为从右向左的最后一个,即从左向右的第一个a[0]
print(a[2: -1: 1])  # -1为倒数第二个

#  添加
#  append:直接加到列表最后一个
#  insert:可以添加到任意位置
a.append("feng")
print(a)
a.insert(1, 'chen')
print(a)

#  修改
#  先查找出来再直接赋值
a[2] = 'chu'
print(a)
a[1:3] = ['qian']
print(a)

#  删除
#  remove:删除内容,把括号内的XX元素删除,只删除,不会返回删除的值
#  pop:通过索引删除列表中的数据,并且返回删除的数据
#  del:和列表没有关系,包含一切的删除
a.remove('feng')# remove不能切片,即不能同时删除多个,只能将括号内作为一个整体删除
a.remove(a[0])
print(a)

pop_test = a.pop(2)
print(a)
print(pop_test)

del a[3]
print(a)

# del a
# 直接将a对象从内存中删除了
# print(a)
# 此时再打印a则会报错,因为内存中已经没有对象a
# NameError: name 'a' is not defined

列表的常用函数,方法,功能,其中包含index查询重复元素、数据索引(下标)的方式,若查询多个,将方法循环即可

a = [4, 2, 6, 8, 2, 4, 5, 9, 0]
c = [1, 4, 3]
b = a.count(2)  # 查询数据2在列表a中出现的次数
print(b)

a.extend(c)  # 将列表c添加到列表a中
print(a)

print(a.index(2))  # 查询某一个数据在列表中的索引
# 列表中若有重复数据,只能查询第一个数据的索引(下标)
# 若想查询第二个或者第三、第四个……
# 先查询出第一个,通过切片,将第一个后面的切成一个小列表,再查询第二个在小列表中的索引,
# 再通过第一个在大列表的索引+第二个在小列表的索引 得出第二个在大列表中的索引
# 具体代码实现如下
print(a)  # 输出[4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
# a列表即为big list
# 切片出来的列表为little list
first_index_in_big_list = a.index(2)
little_list = a[first_index_in_big_list+1:]  # 如果不加一切片出来的列表将包含第一个2
# 若不加1,切片的list为[2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
print(little_list)
second_index_in_little_list = little_list[2]
second_index_in_big_list = first_index_in_big_list + 1 + second_index_in_little_list
print(second_index_in_big_list)

print(a)  # [4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3]
a.reverse()  # 将列表颠倒
print(a)  #  [3, 4, 1, 0, 9, 5, 4, 2, 8, 6, 2, 4]

a.sort()  # 默认为按照ASCII排序,从小到大[0, 1, 2, 2, 3, 4, 4, 4, 5, 6, 8, 9]
print(a)
a.sort(reverse=True)
# reverse表示颠倒方向,默认为FALSE,改成TRUE则将从小到大颠倒排序,从大到小
print(a)  # [9, 8, 6, 5, 4, 4, 4, 3, 2, 2, 1, 0]

a.clear()  # 将列表清空

# 判断对象是否是列表
print(type(a) is list)
# 返回TRUE
 

 

posted @ 2019-07-27 10:27  iGenius  阅读(301)  评论(0编辑  收藏  举报