五、列表、字典嵌套与输入输出、运算符

今日内容:

    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("用户账号或密码输入错误")

输入格式:

如图:错误

如图,成功

 

 

posted @ 2022-06-09 18:19  秋风お亦冷  阅读(48)  评论(0编辑  收藏  举报