逻辑教育 :https://logicedu.ke.qq.com
12期:Python基础课
日期:2020年12月28日
一木.溪桥学Python-07:
集合set、条件判断if elif else、循环while、break、continu、else
s = {1,2,3,4,5,6} #
s1 = {} #
print(type(s))
print(s) # {1, 2, 3, 4, 5, 6}
print(type(s1))
print(s1) # {}
s = set("hello everyone!")
print(s) # {'e', ' ', '!', 'v', 'n', 'l', 'r', 'h', 'y', 'o'}
s = set("hello everyone!")
s.add("My god!")
print(s) # {'n', 'My god!', 'o', '!', ' ', 'r', 'h', 'v', 'e', 'l', 'y'}
s = set("hello everyone!")
s.add("My god!")
s.update("123")
print(s) # {'n', '!', 'e', '1', '2', 'h', ' ', 'r', 'y', '3', 'v', 'l', 'o', 'My god!'}
s = set("hello!")
s.remove("e")
print(s) # {'!', 'o', 'h', 'l'}
s.remove("x") # KeyError: 'x' 没有对应删除的元素则报错
s = set("hello!")
i = 1
while i <= 5:
s.pop()
i += 1
print(s)
Run:
{'o', '!', 'e', 'h'}
{'!', 'e', 'h'}
{'e', 'h'}
{'h'}
set()
'''
运行删除空集合会报以下错误:
KeyError: 'pop from an empty set'
set()
'''
s = set("hello!")
i = 1
while i <= 5:
s.pop()
i += 1
print(s)
print(id(s))
Run:
{‘l’, ‘e’, ‘o’, ‘h’}
2472898977352
{‘e’, ‘o’, ‘h’}
2472898977352
{‘o’, ‘h’}
2472898977352
{‘h’}
2472898977352
set()
2472898977352
s = "hello!"
s1 = s.replace("h","AA")
print(id(s)) # 2426813203040
print(id(s1)) # 2426814038736
if __name__ == '__main__':
pass
while 循环还可以增加一个 else 从句。当 while 循环 正常执行完毕,会执行 else语句。
if 判断可以嵌套,while 当然也可以嵌套。但是建议大家不要嵌套 3 层以上,那样的效率会很低。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/12/30 8:52
# @Author :DXD
# @File : 作业.py
# @Software: PyCharm
print("同学最近学习了吗?")
s_input = input("请输入Yes/No:")
s_input = s_input.lower()
if s_input == "yes":
print(''' Very good!
学习的什么呢? 请选择以下选项:
1.Python
2.高数
3.退出 ''')
s_opt = input("请输入选项:")
if s_opt == '1':
print("Python 真不戳!")
elif s_opt == '2':
print("我待高数如初恋,高数虐我千百偏啊!")
elif s_opt == '3':
print("已退出")
else:
print("输入有误,请重新输入!")
elif s_input == "no":
print("年青人,耗子尾汁!")
else:
print("输入有误,请重新输入!")
******
请输入选项:2
我待高数如初恋,高数虐我千百偏啊!
******
请输入选项:3
已退出
******
请输入选项:haha!
输入有误,请重新输入!
******
Run:1.2
同学最近学习了吗?
请输入Yes/No:no
年青人,耗子尾汁!
******
Run:1.3
同学最近学习了吗?
请输入Yes/No:dfg
输入有误,请重新输入!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/12/30 8:52
# @Author :DXD
# @File : 作业.py
# @Software: PyCharm
for i in range(1, 6): # 用于循环测试5次
print("同学最近学习了吗?", "", sep="\n")
while 1:
s_input = input("请输入Yes/No:")
s_input = s_input.lower()
if s_input in("yes", "no"):
flag = 1
break
else:
print("输入有误,请重新输入!", "", sep="\n")
while flag:
if s_input == "yes":
print("Very good!学习的什么呢? 请选择以下选项:", "1.Python", "2.高数", "3.退出", "", sep="\n")
s_opt = input("请输入选项:")
if s_opt == '1':
print("Python 真不戳!", "", sep="\n")
break
elif s_opt == '2':
print("我待高数如初恋,高数虐我千百偏啊!", "", sep="\n")
break
elif s_opt == '3':
print("已退出", "", sep="\n")
break
else:
print("输入有误,请重新输入!", "", sep="\n")
elif s_input == "no":
print("年青人,耗子尾汁!", "", sep="\n")
break
else:
print("输入有误,请重新输入!", "", sep="\n")
Run:
请输入Yes/No:dd
输入有误,请重新输入!
请输入Yes/No: