1、字符格式化的输出
占位符: %s s = string 字符串
%d d = digit 整数
%f f = float 浮点数,精确6位小数
1、1格式化输出字符
name = input("请输入名字:")
age = int(input("请输入年龄:"))
job = input("请输入工作:")
salary = input("请输入工资:")
if salary.isdigit(): #digit 数字,表示判断像不像数字,比如:13s
salary = int(salary)
# else:
# exit("must input digit") #表示退出程序,并打印提示信息
# %s 表示占位符,s代表字符串
# %d 表示占位符,d代表数字
# %f 表示占位符,f代表浮点数
msg = '''
-------- info of %s --------
Name:%s
Age :%d
Job :%s
Salary:%f
You will be retired in %s years
----------- end -----------
'''%(name,name,age,job,salary,65-age)
#通过 % 后面的各个字段与占位符一一对应
print(msg)
2、数据类型初识
数字:整数 int(integer)
整型
长整型 python3不区分整型和长整型
布尔:只有2种状态,分别是
真 True
假 False
字符串:一般为小数
3、列表:
3.1列表 a = ['','','','','']
3.2查询
索引(下标),都是从0开始
切片
.count 查某个元素出现的次数
.index 根据内容找其对应的位置
'lili' in a
3.3增加
a.append('') 默认将数据加到列表最后的位置
a.insert(index,'内容') 将数据加入到索引的位置
a.extend 将列表的值添加到另一个列表,a列表会发生变化
a+b 取列表a b的合集
3.4修改
a[index] = '新的值'
a[start:end] = ['a','b','c']
3.5删除
remove('内容') 删除固定的值,不能一次删多个
pop pop后面加索引,根据索引删除列表中的数据,并且可以返回删除的数据
del a 或者 del a[index] del既可以删除列表中的某个对象,又可以将列表删除
a.clear() 清空
3.6排序
sort() 将列表的数据由小到大进行排序、字母排序(先排大写字母,再排小写字母)
reverse() 将列表的数据倒序排序
3.7身份判断
type(a) is list
#1、创建列表
a = ['lili','xixi','xiaoming','xiaohu','pangzi']
#查询列表
print(a[:]) #取全部的索引值
print(a[1]) #取索引1的值
print(a[1:3]) #取索引1-3的值,但不包含索引3
print(a[1:]) #取到最后的索引值
print(a[1:-1]) #取到倒数第二个索引值
print(a[1:-1:1]) #步长为1,从左向右依次取值
print(a[1::2]) #步长为2,从左向右依次取值
print(a[3::-2]) #步长为2,从右向左依次取值
b = a[3::-1]
print(b)
#2、在列表中添加信息
#append 默认将数据插到列表的最后位置
a.append('xiaoli')
print(a)
#insert 将数据插入到任意一个位置
a.insert(1,'xiaoli')
print(a)
#3、修改列表中的数据
a[1] = 'tianye'
print(a)
a[1:3] = ['a','b']
print(a)
#4、删除列表中的数据
#remove 删除固定的值
a.remove('lili')
print(a)
a.remove(a[0])
print(a)
#pop 后面加索引值,根据索引删除列表中的值,可以打印删除的值
a.pop(1)
b = a.pop(1)
print(b)
#del 既可以删除列表中的某个对象,又可以将列表删除
del a[0]
print(a)
del a
print(a)
#计算某元素在列表中出现的次数 count
m = ['a','b','a','c','e','s']
n = m.count('a')
print(n)
#extend 将列表的值添加到另一个列表
a = [1,2,3]
b = [4,5,6]
a.extend(b) #表示将列表b的值添加到a
print(a)
print(b)
#index 索引列表中某个值的位置
a = ['a','b','c','d','c','f','g']
first_c = a.index('c')
print('first_c',first_c)
little_list = a[first_c+1:]
second_c = little_list.index('c')
print('second_c',second_c)
c_list = first_c + second_c
#reverse 将列表的数据 倒序排序
a = ['a','b','c','d','c','f','g']
a.reverse()
print(a)
#sort 将列表的数据进行排序
b = ['7','1','3','8','2']
b.sort()
print(b)
#身份判断
x = type(a) is list
print(x)
4、循环loop
有限循环:次数限制
无限循环:死循环
continue:跳过
break:终止
exit_flag = False
for i in range(10):
if i < 5:
continue #跳过当前循环,继续下个循环
print(i)
for j in range(10):
print("layer2",j)
if j == 6:
exit_flag = True
break #中断,跳出循环
if exit_flag:
break
5、for循环的使用:
for i in range() 注释:range后面括号内加范围
#1-100 取出基数
for i in range(1,100,2): #2 表示 步长
print(i)
for i in range(1,100):
if i % 2 == 1:
print(i)
_user = "lili"
_password = "123abc"
numb1 = False #假,不成立 设置标识位
for i in range(3):
username = input("请输入用户名:")
password = input("请输入密码")
if username == _user and password == _password:
print("welcome %s login..." % _user)
numb1 = True #真,成立
break #跳出,中断
else:
print("invalid username or password !")
if not numb1: #只有在True的情况下,条件成立
print("略略略...")
#---------或者以下方案实现
_user = "lili"
_password = "123abc"
for i in range(3):
username = input("请输入用户名:")
password = input("请输入密码")
if username == _user and password == _password:
print("welcome %s login..." % _user)
break #跳出,中断
#break for过后,就不会执行最后面的else语句
else:
print("invalid username or password !")
#只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句
else:
print("略略略...")
6、while循环
6、1只能输入3次用户名、密码,正确则跳出登陆,3次错误则提示是否继续玩
_user = "lili"
_password = "123abc"
counter = 1
while counter <= 3:
username = input("请输入用户名:")
password = input("请输入密码:")
if username == _user and password == _password:
print("welcome %s login..." % _user)
break
else:
print("invalid username or password !")
counter += 1
if counter == 3:
keep_going = input("还想玩么?【Y/N】")
if keep_going == "Y":
counter == 1
else:
print("略略略...")