欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-18 17:38:51
目录1.循环2.字典3.集合总结1.循环# 1.for...in循环,依次把list或tuple中的每个元素迭代出来studentnames = ["willard","chenjd","chenba...

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}
 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!