五、列表、字典嵌套与输入输出、运算符
今日内容:
1、列表与字典的嵌套
2、输入输出
3、基本运算符
4、流程控制if判断
5、流程控制之while循环
1、列表与字典的嵌套
-1代表取最后的值
# 所有同学的信息
# stus_info = [
# ['egon',18,'male'],
# ['lili',28,'female'],
# ['jack',28,'male'],
# ]
#
# print(stus_info[1][0])
# l=[1,3.3,"aaa",[33,44],{"k1":1111}]
# print(l[3][0])
# print(l[-1]['k1'])
# 所有同学的信息
stus_info = [
{"name": "egon1", 'age': 118, "gender": "male"},
{"name": "egon2", 'age': 128, "gender": "female"},
{"name": "egon3", 'age': 138, "gender": "male"},
]
# 取第二学生的性别
# print(stus_info[1]['gender'])
stus_info = {
"lili": {"age": 28, "gender": "female"},
"egon": {"age": 18, "gender": "male"},
"jack": {"age": 19, "gender": "female"},
}
print(stus_info["egon"]["age"])
stus_info = {
"lili": [28, "female"],
"egon": [18, "male"],
"jack": [19, "female"],
}
print(stus_info["egon"][0])
# 练习题
# 所有同学的信息都存起来
stus_info={
'xiaoli':{'age':18,'gender':'male'}
'xiaoming':{'age':18,'gender':'male'}
'egon':{'age':18,'gender':'male','hbobbies:['music','movie','football']}
}
# 取值需求:取egon这名同学多个爱好中的第一个
print(stus_info['egon']['hobbies'][0])
练习题2
# 所有同学的信息都存起来
stus_info = {
'xiaoli': {'age': 18, 'gender': 'male'},
'xiaoming': {'age': 18, 'gender': 'male'},
'egon': {'age': 18, 'gender': 'male', 'hobbies': ['music', 'movie', 'football']}
}
# 取值需求:取egon同学多个爱好里的第三个
print(stus_info['egon']['hobbies'][2])
2、输入输出
# 输入(input)
# db_user="egon"(用户名是egon)
# inp_user=input("请输入你的用户名: ") # "asf"
# print(inp_user == db_user)
# 输出(print)
# print("my name is %s my age is %d" % ("tom", 28))
# print("my name is %s my age is %d" % ("tom", "28")) # 报错
# print("my name is %s my age is %s" % ("tom", "28"))
# print("my name is %s my age is %s" % ("tom", 28))
# print("my name is %s my age is %s" % ("tom", [1,2,3]))
内容里的红色%s可以被替换,但顺序要对应好,tom对应第一个%,28对应第二个%
PS:###尾部追加%是格式所需,如果内容里%s为一个,则在尾部追加一个内容就可以,数字可以不加引号,加了也无妨,如下
print("my name is %s" %"hello") ###
PS:###如果内容里%s为多个,尾部内容则需要用小括号括起来,引号引起来,并以逗号分隔,如下
print("my name is %s my age is %d" % ("tom", 28))
%f浮点型占位符
%d数字占位符
%s万能占位符(最常用)
###换行符介绍
\n(换行);\r(跳至行首)
回车就等于输入了\n,只是系统帮助隐藏了而已,并不是不存在。
不同平台不同,Windows为\r\n,python语言、Linux、mac为\n;举例如下:
比如拿hello world举例
print("hello",end="\n")
print("world",end="\n")
例1、这样输入打印出来的结果就会自动换行:
例2、输入---就会显示---
例3、什么都不输入,只有引号,就会黏在一起
例4、输入一个空格,就会横向分开显示
3、基本运算符
# 算数运算符
# x = 10
# y = 3.1
# z = x + y
# print(z)
# print(10 - 3.1)
# print(10 * 3.1)
# print(10 / 3)
# print(10 // 3) # 只保留整数部分,不是四舍五入,小数位直接抹掉
# print(10 % 3) # 取余数,取模(10/3=3余1,取1)
# print(10 ** 3) #10的三次方(10*10*10)
# 赋值运算符
+=相当于原值加上某一个数,简写
a=3
a=a+2就相当于a+=2,去掉了a,直接把=+放到一起,结果是一样的
age = 18
# age += 3 # age = age + 3
# age *= 3 # age = age * 3
# age /= 3 # age = age / 3
# print(age)
age **= 2 # age = age ** 2(次方)
print(age)
# 比较运算符 单=代表赋值,加" "代表变量值
# print(10 > 3) 大于
# print(10 >= 3.1) 大于等于
# print(3.1 < 2.1) 小于
# print(3.1 <= 2.1)小于等于
# print(10 == 10.0) 等于等于,也就是等于
# print("egon" == "egon")
# print(10 != 3) 不等于
同下所示,位置不同信息相同就成立,否则不成立
# print([1,2,3] == [3,1,2]) 不成立
# print([1,2,3] == [1,2,3]) 不成立
# print({"k1":111,"k2":222} == {"k2":222,"k1":111}) 成立
# 逻辑运算符
# not 取反
# print(not 10 > 3)
# and 和只要有一条不成立,整条都不成立
# print(10 > 3 and True and 3 == 10)
# print(10 > 3 and False and 3 == 10)
# or 或,只要有一条成立,整条都成立
# print(10 < 3 or 3 > 100 or 3 == 3)
# print(10 > 3 or 3 > 100 or 3 != 3)
4、if判断
if条件1:
回车4个空格字符写代码
代码都是自上而下运行的,先运行顶级的代码块(前面没有空格字符的),只要成功运行就不会往后再继续运行;
单分支:if单独使用,只有一个if;
双分枝:if+elif或if+else;两个条件,也可以elif结尾,一般以else结尾;
多分枝:if+elif+else或if+elif+elif..+else,以else结尾;
运行流程,运行到对的代码自动跳到该代码的自代码:
条件简写举例:把红框里的内容删除,就是简写后的代码,效果一样。
# 单分支:只有一个if判断,然后打印结果;
# gender = "female"
# age = 18
# is_beautiful=True
#
# if gender == "female" and age > 16 and age < 20 and is_beautiful:
# print("春天来了,万物复苏,又到了开始表白的季节了。。。")
#
# print('other=====================>')
# 双分支:if+else,两个条件,然后打印结果;
# gender = "female"
# age = 21
# is_beautiful=True
#
# if gender == "female" and age > 16 and age < 20 and is_beautiful:
# print("春天来了,万物复苏,又到了开始表白的季节了。。。")
# else:
# print("告辞。。。再也不见。。。")
#
# print('other=====================>')
# if嵌套:多个条件,if开头,其余都是else,再以else结尾,print打印结果;
# gender = "female"
# age = 19
# is_beautiful=True
# is_ok=True
#
# if gender == "female" and age > 16 and age < 20 and is_beautiful:
# print("春天来了,万物复苏,又到了开始表白的季节了。。。")
# if is_ok:
# print("在一起。。。")
# else:
# print("逗你玩呢,开个玩笑。。。")
# else:
# print("告辞。。。再也不见。。。")
#
# print('other=====================>')
5、input(输入)、print(输出)
原理:码农------------------------------计算机
举例: 接收用户输入的账号
接收用户输入的密码
判断 输入的账号 等于 正确的账号 并且 输入的密码 等于 正确的密码:
告诉用户登录成功
否则:
告诉用户账号或密码输入错误
"""
inp_user = input("请输入您的账号:") #inp_user="egon"(输入后的样子)
inp_pwd = input("请输入您的密码:") # inp_pwd = "123"(输入后的样子)
if inp_user == "egon" and inp_pwd == "123":
print("登录成功")
else:
print("用户账号或密码输入错误")
输入格式:
如图:错误
如图,成功