一.python基础.-------2. 循环- 集合


     1.判断条件 boolean类型的表达式
while 判断条件:
     2.循环体
     避免死循环-->正规代码

 while 循环:
     第一种写法:
 n=1
 while True:
     print(n)
     n=n+1
    if n>10:
         break;  #停止当前循环

    第二种写法:
 n=1
 while n<=10:
     print(n)
     n=n+1       #死循环 一直循环1
while 循环使用 else 语句
while else 在条件语句为 false 时执行 else 的语句块:
实例:
n=0
while n<10:
    print(n,'小于 10')
    n=n+1
else:
    print(n,' 大于或等于 5')

类似if语句的语法,如果你的while循环体中只有一条语句,
你可以将该语句与while写在同一行中。
如下所示:
aa=1
while (aa):print('欢迎来到英雄联盟召唤师峡谷')
print ("Good bye!")

练习一

 1.输出1-100的偶数和
 n=1
 sum=0
 while n<=100:
     if n%2==0:  #把0改为1就为奇数
         sum+=n
         n=n+1
 print(sum)

 2.请用户输入数字,求和,知道输出0退出
 while True:
     n= int(input("请输入一个数字:"))
     if n ==0:
         break
     sum+=n
 print(sum)

 3. 1=100的
    遇到3 和 5的倍数输出当前值 +是3 和 5 的倍数
    遇到5的倍数输出当前的值 +是5的倍数
    遇到3的倍数输出当前的值 +是3的倍数

 n=1;
 while n<=100:
     if n%3==0 and n%5==0:
         print(n," 是3 和 5的倍数 ")
     elif n%5==0:
         print(n, " 是5的倍数 ")
     elif n%3==0:
         print(n, " 是3的倍数 ")
     n = n + 1
 else:  # 当循环正常执行结束后,执行else的语句块
    print("循环结束,判断完毕!");

练习二
1.输出一行9个*
2.输出9行9个*
 nums=range(5)
 for i in range(9):        #几行
     for i in range(9):    #一行几个星星
         print("*",end="")
     print()

3.输出直角三角形
 for i in range(1,6):
     for j in range(6,i,-1):
         print("*",end="")
     print()

4.输出等腰三角形
 for n in range(1,9):
     for j in range(8,n,-1):
         print(" ",end=" ");
     for k in range(2*n-1):
         print("*",end=" ");
     print();


5.输出九九乘法表
  for i in range(1,10):
      for j in range(1,i):
          print(j,"*",i,"=",(j*i),end="\t")
      print()

6.输出菱形
 for i in range(1,9):
     for j in range(8,i-1,-1):
         print(" ",end=" ")
     for k in range(0,i*2-1):
         print('*',end=" ")
     print()
 for l in range(1,9):
     for m in range(l+1):
         print(" ",end=" ")
     for n in range(8*2,l*2+1,-1):
         print("*",end=" ")
     print()


 7.请用户输入成绩 统计各区间的人数
   超出1-100 重新输入 正确 询问是否继续
 a=b=c=d=0
 while True:
     num=int(input("请输入成绩:"))
     if num>=90 and num<=100:
         a+=1
     elif num>=80 and num<90:
         b+=1
     elif num>=60 and num<80:
         c+=1
     elif num>=0 and num<60:
         d+=1
     else:
         print("超出范围 请重新输入")
         continue#放回到循环条件判断的位置  必须在循环体中
     str=input("是否继续?y/n")
     if str.__eq__("n"):
         break
 print(">90:",a)

8.统计3个班级 中每个班级3个学生的成绩: 大于80的人数几个
 count=0
 for i in range(1,4):
     print("请输入第",i,"个班级学生成绩:")
     for j in range(1,4):
         score=int(input("请输入第"+str(j)+"个学生成绩"))
         if score<0:
             print("输入负数 进入下个班级")
             break
         if score<80:
             continue
         count+=1
 print("大于80的人数:",count)

================================================

集合

set:集合 是一个
无序 不重复 元素 的 集合 可变集合。
无序唯一
frozenset:不可变集合
基本功能包括:
关系测试和消除重复元素。

集合对象  还支持:
union(联合),
intersection(交集),
difference(差集)和
sysmmetric difference(对称差集)等数据运算

大括号或 set() 构造函数都可以用来创建集合
注意:想要创建空集合,必须使用set() 而不是{}
{}用于创建空字典; {}

--------------------------------------------------------------------------------
 
集合的特性
   回顾数学相关知识,集合有以下特性:
 1.无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。
 2.集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。
   但就集合本身的特性而言,元素之间没有必然的序。
 3.互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
 4.有时需要对同一元素出现多次的情形进行刻画,可以使用多重集,其中的元素允许出现多次。 
 5.确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,
   不允许有模棱两可的情况出现。

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

1.创建语法:

1. set1=set();     # 
2. set1={数据}
3. set1=({数据})   #字典 将取key  key唯一
4. set1=([数据])
5. set1=((数据))
如下:
set1=set()
set2={'a',1,2.3,'b'}

print(type(set2))
print(type(set2))
print(set2)

set3=set({1:2,3:4})                 
set3=set((11,13,'6',12,14,-1))      
print(type(set3))
print(set3)
------------------------------------------------------------------------------------------

1. add(key) key不存在就添加 存在不添加
2. remove(key);存在删除 不存在抛异常 程序将停止运行
3. clear(); 清空
4. .pop();  随机删除一个  正整数中最小的 并返回
# a=a|b
5. a.update('1234'); #将字符串或集合中的数据 联合放到a集合中
 如下:

 set3=set({1:2,3:4})
 set3.add(2)
 print(set3)
 set3.remove(3)
 print(set3)
 rand=set3.pop()
 print('随机删除了一个:',rand)
 set3.clear()
 print(set3)

 set3.update({22,33,44,-6})
 print(set3)

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


二.集合的创建演示
a={'peace','peace','rong','rong','nick'}
b={'nick','haoyu''rong','kangli'}
# 演示联合  只要出现过 一次 的全部提取 并返回一个 新 的集合
print(a|b)

如下:
a={'peace','peace','rong','rong','nick'}
b={'nick','haoyu','rong','kangli'}
print(a)
print(b)
c=a|b
print(type(c))
print(c)
# 演变交  重复提取
d=a&b
print(d)
  # 演示差   以a为主去掉重复 剩下前一个 中数据
print(b-a)
  # 对称差集    不重复数据 ^  异或
print(a^b)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值