【作业】2022.4.15 周末作业基础版

第一周作业

一、选择题

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

    A. abc

    B. Npc

    C. 1name

    D ab_cd

    理由:不能以数字开头

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

    A. and

    B. print

    C. True

    D. in

    理由:print属于函数名

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

    A.

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

    B.

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

    C.

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

    D.

    print('Python''新手村')
    

    理由:A.乱打缩进,B.没打分号,D.没打逗号

  4. 下面选项中能打印出50的是?B

    A.

    print('100 - 50')
    

    B.

    print(100 - 50)
    

    理由:A.打印出100 - 50

  5. 关于引号,下面选项中使用正确的是?D

    A.

    print('hello)
    

    B.

    print("hello')
    

    C.

    print(“hello”)
    

    D.

    print("hello")
    

    理由:A.右边没打,B.两边分号不一样,C.是中文引号

二、编程题

  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, end=' ')
    
  4. 写代码打印数字 11,13,15,17,…99

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

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

    # 方法1:使用sum函数
    print(sum(range(21)))
    
    # 方法2:使用for函数
    sum = 0
    for x in range(21):
        sum += x
    print(sum)
    
    # 方法3:使用等差数列求和公式(求任意整数等差数列)
    # 录入题目
    a1 = int(input('请输入首项:'))
    an = int(input('请输入末项:'))
    dif = int(input('请输入公差:'))
    
    # 求项数
    n = (an - a1) // dif + 1
    
    # 求和
    sum = (a1 + an) * n // 2
    
    # 输出结果
    print('等差数列的和是:', sum)
    

附:等差数列项数公式:(末项-首项)÷公差+1

特殊的等差数列快速求项数:

①连续自然数项数=末项-首项+1
== 也=末项-首前一项==
②从2开始的连续偶数项数=末项÷2
③从1开始的连续奇数项数=(末项+1)÷2

(不要觉得简单,学生从3年级学到6年级都学不会)

  1. 写代码计算100以内所有偶数的和

    # 方法1:使用sum函数
    print(sum(range(2, 101, 2)))
    
    # 方法2:使用for函数
    sum = 0
    for x in range(2, 101, 2):
        sum += x
    print(sum)
    
  2. 写代码统计100~200中个位数是3的数的个数

    # 方法1:需要判断个位是否是3
    count = 0
    for x in range(100, 200):
        if x % 10 == 3:
            count += 1
    print('100到200中个位数是3的数的个数是:', count)
    
    # 方法2:有点投机取巧法
    # 原理:每两个个位是3的数之间必然差10,所以创建首项103,公差为10的等差数列即可
    count = 0
    for x in range(103, 200, 10):
            count += 1
    print('100到200中个位数是3的数的个数是:', count)
    
    # 方法3:非常投机取巧法
    # 原理:既然百位和个位都固定死了,就只有十位从0数到9
    count = 0
    for tens in (10):
        count += 1
    print('100到200中个位数是3的数的个数是:', count)
    

    (感觉还不如直接print(10),笑死)

  3. 写代码计算2*3*4*5*...*9的结果

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

    # 这是一个判断奇偶性的程序
    
    num = int(input('请输入一个整数:'))
    if num % 2:
        print('奇数')
    else:
        print('偶数')
    
  5. 统计1000以内能被3整除但是不能被5整除的数的个数。

count = 0
for x in range(0, 1000, 3):
    if not x % 5:
        continue
    count += 1
print('1000以内能被3整除但不能被5整除的数的个数是:', count)

# 267

附:给小学生要这样讲:

①分析题意:

是3的倍数,但不是5的倍数。即从3的倍数里面扣除3和5的公倍数,即从3的倍数里面扣除15的倍数。

②计算3的倍数有几个:

1000 ÷ 3 = 333(个)…1(个),取商333个

③计算15的倍数有几个:

1000 ÷ 15 = 66(个)…10(个),取商66个

④得到结果

333 - 66 = 267(个)

⑤作答

答:1000以内能被3整除但不能被5整除的数的数有267个

(但是这种题一般考填空题,所以大概率不用答)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sprite.Nym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值