用代码帮你了解Python基础(3)

作者:FUXI_Willard 时间:2021-03-20 07:22:46 

1.循环

# 1.for...in循环,依次把list或tuple中的每个元素迭代出来
studentNames = ["Willard","ChenJD","ChenBao","LinWenYu"]
for studentName in studentNames:
   print(studentName)
print("------------------------------------------------")
# 计算1-10的累加和
sumOfNums = 0
for num in [1,2,3,4,5,6,7,8,9,10]:
   sumOfNums = sumOfNums + num
print("1-10的累加和是:",sumOfNums)
print("------------------------------------------------")
# 使用range()函数进行整数序列生成,range()函数为左闭右开
# 计算1-1000的累加和
sumOfNums = 0
for num in range(1001):
   sumOfNums += num
print("1-1000的累加和是:",sumOfNums)

# 结果输出:
Willard
ChenJD
ChenBao
LinWenYu
------------------------------------------------
1-10的累加和是: 55
------------------------------------------------
1-1000的累加和是: 500500
 

# 2.while循环,只要条件满足,就不断循环,条件不满足时退出循环
# 计算100以内的奇数和
sumOfNums = 0
n = 99
while n > 0:
   sumOfNums += n
   n = n -2
print("100以内的奇数累加和为:",sumOfNums)

# 结果输出:
100以内的奇数累加和为: 2500 

# 3.使用break语句提前退出循环
n = 1
while n < 20:
   if n > 10:
       break
   print("n的值为:",n)
   n += 1
print("The End.")

n的值为: 1
n的值为: 2
n的值为: 3
n的值为: 4
n的值为: 5
n的值为: 6
n的值为: 7
n的值为: 8
n的值为: 9
n的值为: 10
The End.
 

# 4.continue语句,跳过当前循环,直接开始下一次循环
n = 10
while n < 20:
   n += 1
   if n == 15:
       continue
   print("n的值为:",n)
print("The End.")

# 结果输出:
n的值为: 11
n的值为: 12
n的值为: 13
n的值为: 14
n的值为: 16
n的值为: 17
n的值为: 18
n的值为: 19
n的值为: 20
The End.
 

# 5.登录实例
totalFrequency = 3
inputFrequency = 0
userName = input("请输入您的账号:")
password = input("请输入您的密码:")
while inputFrequency < totalFrequency:
   if ((userName == "Willard") and (password == "JD584520")):
       print("账号密码正确,登录成功!")
       break
   else:
       print("账号或密码输入错误,登录失败!")
       if (totalFrequency - inputFrequency - 1) == 0:
           break
       print("请重新登录!您还有%d次输入账号密码的机会!"%(totalFrequency - inputFrequency - 1))
       print("----------------------------------------")
   inputFrequency += 1
   userName = input("请重新输入您的账号:")
   password = input("请重新输入您的密码:")

# 结果输出:
# 输出1:
请输入您的账号:Willard
请输入您的密码:JD584520
账号密码正确,登录成功!
---------------------------

# 输出2:
请输入您的账号:Willard
请输入您的密码:jd584520
账号或密码输入错误,登录失败!
请重新登录!您还有2次输入账号密码的机会!
----------------------------------------
请重新输入您的账号:Willard
请重新输入您的密码:JD584520
账号密码正确,登录成功!

--------------------------

# 输出3:
请输入您的账号:willard
请输入您的密码:JD584520
账号或密码输入错误,登录失败!
请重新登录!您还有2次输入账号密码的机会!
----------------------------------------
请重新输入您的账号:Willard
请重新输入您的密码:jd584520
账号或密码输入错误,登录失败!
请重新登录!您还有1次输入账号密码的机会!
----------------------------------------
请重新输入您的账号:willard
请重新输入您的密码:jd584520
账号或密码输入错误,登录失败!
 

2.字典

# dict:字典,使用键-值对(key-value)存储;
# 实例:
studentScore = {"Willard":{"Math":100,"Chinese":98,"Eng":90},
              "ChenJD":{"Math":99,"Chinese":100,"Eng":98},
              "ChenBao":{"Math":100,"Chinese":99,"Eng":96}}
print("Willard的成绩是:",studentScore["Willard"])
print("ChenJD的成绩是:",studentScore["ChenJD"])
print("ChenBao的成绩是:",studentScore["ChenBao"])
print("---------------------------------------------")
# 修改元素的值
print("Willard原来的成绩是:",studentScore["Willard"])
studentScore["Willard"] = {"Math":100,"Chinese":100,"Eng":100}
print("修改后Willard的成绩是:",studentScore["Willard"])
print("---------------------------------------------")
# 判断key是否存在
# 1.通过in判断key是否存在
print("判断是否存在'ChenXiaoBao'这个key.\n")
if "ChenXiaoBao" in studentScore:
   print("存在'ChenXiaoBao'这个key.")
else:
   print("不存在'ChenXiaoBao'这个key.")
print("---------------------------------------------")
# 2.通过get()方法,如果key不存在,返回None,或指定的value
print(studentScore.get("Willard"))
print(studentScore.get("Willard"),-1)
print("---------------------------------------------")
# 删除一个key,使用pop(key)
print("删除前的字典:\n",studentScore,"\n")
studentScore.pop("ChenBao")
print("删除后的字典:",studentScore)
# Tips:
# 字典的key必须是不可变对象,如:字符串、整数等,list是可变的;

# 结果输出:
Willard的成绩是: {'Math': 100, 'Chinese': 98, 'Eng': 90}
ChenJD的成绩是: {'Math': 99, 'Chinese': 100, 'Eng': 98}
ChenBao的成绩是: {'Math': 100, 'Chinese': 99, 'Eng': 96}
---------------------------------------------
Willard原来的成绩是: {'Math': 100, 'Chinese': 98, 'Eng': 90}
修改后Willard的成绩是: {'Math': 100, 'Chinese': 100, 'Eng': 100}
---------------------------------------------
判断是否存在'ChenXiaoBao'这个key.

不存在'ChenXiaoBao'这个key.
---------------------------------------------
{'Math': 100, 'Chinese': 100, 'Eng': 100}
{'Math': 100, 'Chinese': 100, 'Eng': 100} -1
---------------------------------------------
删除前的字典:
 {'Willard': {'Math': 100, 'Chinese': 100, 'Eng': 100}, 'ChenJD': {'Math': 99, 'Chinese': 100, 'Eng': 98}, 'ChenBao': {'Math': 100, 'Chinese': 99, 'Eng': 96}} 

删除后的字典: {'Willard': {'Math': 100, 'Chinese': 100, 'Eng': 100}, 'ChenJD': {'Math': 99, 'Chinese': 100, 'Eng': 98}}
 

3.集合

# 集合:set;是一组key的集合,但不存储value,且key不能重复,具有唯一性;
# 1.创建一个set,提供一个list作为输入集合
setEg = set([1,2,3])
print("集合setEg的内容:",setEg)
print("------------------------------")
# 2.集合的元素唯一性
setEg2 = set([1,1,1,2,3,4,5,3,2])
print("集合setEg2的内容:",setEg2)
print("------------------------------")
# 3.添加元素
setEg = set([1,2,3])
print("添加元素前集合的内容:",setEg)
setEg.add(5)
print("添加元素后集合的内容:",setEg)
print("------------------------------")
# 4.删除元素
setEg = set([1,2,3])
print("删除元素前集合的内容:",setEg)
setEg.remove(1)
print("删除元素后集合的内容:",setEg)
print("------------------------------")
# 5.交集、并集
setOne = set([1,2,3,4,5])
setTwo = set([1,2,4,6])
print("setOne集合的内容:",setOne)
print("setTwo集合的内容:",setTwo)
print("setOne和setTwo的交集:",(setOne & setTwo))
print("setOne和setTwo的并集:",(setOne | setTwo))

# 结果输出:
集合setEg的内容: {1, 2, 3}
------------------------------
集合setEg2的内容: {1, 2, 3, 4, 5}
------------------------------
添加元素前集合的内容: {1, 2, 3}
添加元素后集合的内容: {1, 2, 3, 5}
------------------------------
删除元素前集合的内容: {1, 2, 3}
删除元素后集合的内容: {2, 3}
------------------------------
setOne集合的内容: {1, 2, 3, 4, 5}
setTwo集合的内容: {1, 2, 4, 6}
setOne和setTwo的交集: {1, 2, 4}
setOne和setTwo的并集: {1, 2, 3, 4, 5, 6}
 

来源:https://fuxi-willard.blog.csdn.net/article/details/122610808

标签:Python,代码,基础
0
投稿

猜你喜欢

  • Python注释详解

    2023-07-17 06:48:17
  • 解决pip安装的第三方包在PyCharm无法导入的问题

    2022-10-18 11:20:27
  • asp函数判断服务器是否安装了某种组件

    2008-10-11 14:45:00
  • Python序列的推导式实现代码

    2022-04-24 05:53:46
  • python中subplot大小的设置步骤

    2021-07-30 08:59:37
  • 完美解决MySQL中文乱码

    2011-03-16 15:16:00
  • SQL Server 复制需要有实际的服务器名称才能连接到服务器

    2012-07-11 15:46:51
  • 符合网站标准的图片切换代码(天极软件)

    2008-02-20 08:23:00
  • asp最简单的生成验证码代码

    2011-03-07 11:05:00
  • 解读ASP.NET 5 & MVC6系列教程(9):日志框架

    2023-06-30 06:10:57
  • 也谈access数据库的防下载保护

    2007-08-28 13:01:00
  • 多语言网站开发 不完全技术分析

    2008-02-18 12:52:00
  • FrontPage2002简明教程八:站点的管理

    2008-09-17 11:36:00
  • php从文件夹随机读取文件的方法

    2023-11-21 16:38:35
  • Python操作MongoDB数据库的方法示例

    2022-09-03 13:48:40
  • sql怎样显示出评论最多的文章?

    2008-08-08 12:17:00
  • 对跨多个表格的数据组合时需要用到的SQL

    2009-01-06 11:18:00
  • php浅析反序列化结构

    2023-11-17 17:34:37
  • Python中断多重循环的几种方式详解

    2022-05-09 21:44:04
  • 用户是如何浏览你的网站的

    2010-05-03 14:26:00
  • asp之家 网络编程 m.aspxhome.com