4.-循环嵌套

1.循环嵌套

# 循环嵌套的执行原则:外循环一次,内循环完整
for x in range(5):
   for y in range(2,8):
       print(x,y)


"""
x取值范围:01234 
第一次 x=0:执行循环体
"""
1.输出9*9口诀, 程序分析:分行与列考虑,共9行
# row = 1~9
# col = 1~col
for row in  range(1,10):
    for col in  range(1,row+1):
        print(col,"*",row,"=",col*row,end=" ")
    print() #换行

for big in range(100//3+1):
    for middle in range():
        small = 100 - big -middle
        if big*3 + middle*2 + small/2==100:
            print(big,middle,small)

from random import randint
number = randint(1,100) #产生1-100的随机数(游戏需要猜的数)
while True:
    value = int(input("请输入数字")) #玩家输入
    if value == number:
        break
    if value > number:
        print("大了,在小点儿")
    else:
        print("小了在大点儿")
print("恭喜你猜对了")

认识列表

# 思考:定义变量保存一个班所有学生的成绩
# stu1 = 90
# stu2 = 85
# stu3 = 93
# stu4 = 74
#
# print(stu1 + stu2 + stu3 + stu4)

# scores = [90, 85, 93, 74]
# print(sum(scores) / len(scores))
# 容器的基本特征:一个容器型的数据可以同时保存多个其他的数据
# 元素:容器中每一个独立的数据就是一个元素

2.什么是列表(list)

"""
1)列表长什么样子 : 列表是容器型数据类型(序列):将[]作为容器的标志,里面多个元素用逗号隔开[元素1,元素2,元素3,]
2)列表的特点 : 列表是可变的(元素的个数,值和顺序可变)    -增 删 改; 列表是有序的  -支持下标操作
3)列表对元素的要求:没有要求(不管什么类型的数据都可以作为列表的元素)
"""
# 1)空列表
# len(列表)   -获取列表中元素的个数
list1=[]
list2=["",0]
print(type(list1),type(list2)) #<class list> <clss 'list'>
print(bool(list1),bool(list2)) # flase false
print(len(list1),len(list2)) # 0 0
1.列表可以同时保存多个数据
list3 = [89, 90, 76, 99, 58]
print(list3)

list4 = ['余婷', 18, '女', 100, True]
print(list4)

list5 = [10, 12.5, True, 'abc', [1, 0], {'a': 10}, (20, 9), {20, 9}, lambda x: x*2]
print(list5)
list4=[[1,2,3],
       [3,4,5],
       [4,5,6]]
print(len(list4))
2.查 - 获取元素
查分为三种情况:获取单个元素,切片,遍历(一个一个的取)
# 1.获取单个元素
"""
语法:列表[下标]
功能:获取列表中指定下标对应的元素
说明:
列表     - 任何结果是列表的表达式,比如:保存列表的变量,具体的列表值等
[]     - 固定写法
下标     - 下标又叫索引,是元素在有序序列中的位置信息
         - PYTHON中有序序列中每个元素都有两组下标值,分别是:从前往后,0开始递增,从后往前数,从-1递减的下标值
注意:下标不能越界.
"""
# list3 =[2,4,6,0]
# list3 =[下标]
# [2,4,6,0][下标]
names =['甄姬','貂蝉','韩信','吕布','赵云']
print(names[1])
print(names[-1])
3.遍历
"""
方式1 - 直接获取列表中的每个元素
for 变量 in 列表:
      循环体
方式2 - 先获取每个元素
for 下标 in range(len(列表))
      循环体
for 下标 in range(-1, -len(列表)-1, -1):
   循环体
   
range(len(列表)) == range(列表中元素的个数)

方式3  - 同时获取列表中每个元素和元素对应的下标
for 下标, 元素 in enumerate(列表):
   循环体
"""
names = ['甄姬', '貂蝉', '韩信', '吕布', '赵云', '后裔', '鲁班', '狄仁杰']
print('-------------------------------华丽的分隔线--------------------------------')
for x in names:
   print(x)

print('-------------------------------华丽的分隔线--------------------------------')
for index in range(len(names)):
   print(index, names[index])

print('-------------------------------华丽的分隔线--------------------------------')
for index, item in enumerate(names):
   print(index, item)
练习题:
score=[89,67,56,90,98,30,78,51,99]
count = 0
for x in score:
       if x<60:
              count+=1
print('不及格人数',count)

#练习2:统计列表中整数的个数
list7 = [89,9.9,'abc','True','abc','10',81,90,23]
count = 0
for x in list7:
       if type(x) == int:
              count+=1
print('列表中的个数',count)
#练习3:求nums中所有偶数的和
num3 = [89,67,56,90,98,30,78,51,99]
sum=0
for x in num3:
       if x%2==0:
             sum+=x
print("所有偶数的和",sum)
3.添加元素
# 1)添加单个元素
"""
列表.append(元素)   - 在列表的最后添加一个元素
列表.insert('下标,元素')  -在指定下标对应的元素前插入指定元素
"""
movies = ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']

movies.append('肖生克的救赎')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪', '肖生克的救赎']

movies.insert(2, '沉默的羔羊')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎']

# 2)批量添加
# 列表1.extend(列表2)  - 将列表2元素全部添加到列表1的后面
movies.extend(['让子弹飞', '触不可及', 'V字仇杀队'])
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎', '让子弹飞', '触不可及', 'V字仇杀队']

# 练习:将scores中所有的及格的分数提取出来
# [89, 67, 90, 98, 78, 99]
scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
scores2 = []
for x in scores:
    if x >= 60:
        scores2.append(x)
print(scores2)

3.第一周作业(零基础)

一、选择题

  1. 下列变量名中不合法的是?(c)

    A. abc

    B. Npc

    C. 1name

    D ab_cd

  2. 下列选项中不属于关键字的是?(c)

    A. and

    B. print

    C. True

    D. in

  3. 下面哪个选项对应的代码写法是正确的?c()

    A.

    print('Python')
      print('新手村')
    

    B.

    print('Python') print('新手村')
    

    C.

    print('Python')
    print('新手村')
    

    D.

    print('Python''新手村')
    
  4. 下面选项中能打印出50的是?(b)

    A.

    print('100 - 50')
    

    B.

    print(100 - 50)
    
  5. 关于引号,下面选项中使用正确的是?d

    A.

    print('hello)
    

    B.

    print("hello')
    

    C.

    print(“hello”)
    

    D.

    print("hello")
    

二、编程题

  1. 写代码在控制台打印 good good study, day day up!

    print('good good study, day day up!')
    
  2. 写代码在控制台打印5次 you see see, one day day!

    for x in range(5):
    	print('you see see, one day day!')
    
  3. 写代码打印数字 11、12、13、… 21

    for x in range(11,22):
    	print(x)
    
  4. 写代码打印数字 11,13,15,17,…99

    for x in range(11,100,2):
    	print(x)
    
  5. 写代码打印数字:10、9、8、7、6、5

    for x in range(10,4,-1):
    	print(x)
    
  6. 写代码计算:1+2+3+4+…+20 的和

    sum=1
    for x in range(2,21)
    	if  1<x<21:
    		sum+=x
    print('和',sum)
    
  7. 写代码计算100以内所有偶数的和

    sum=0
    for x in range(0,101):
    
    	if x % 2 == 0:
    	sum+=x
    print('100以内所有偶数的和',sum)
    
  8. 写代码统计100~200中个位数是3的数的个数

    count=0
    for x in range(103,200,10):
    	print(x)
    	count+=1
    print('个位数是3的个数是',count)
    
  9. 写代码计算2*3*4*5*...*9的结果

    take = 2
    for x in range(3,10):
    	print(x)
    	take*=x
    print('2*3*4的结果',take)
    
  10. 输入一个数,如果输入的数是偶数就打印偶数否则打印奇数

    value = int(input('请输入数字'))
    if value%2==0print('打印偶数')
    elseprint('打印奇数')
    
  11. 统计1000以内能被3整除但是不能被5整除的数的个数。

    count=0
    for x in range(0,1000):
    	if x%3==0 and x%5=0:
    	count+=1
    print('个数为',count)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值