第一周作业
一、选择题
-
下列变量名中不合法的是?(C)
A. abc
B. Npc
C. 1name
D ab_cd
理由:不能以数字开头
-
下列选项中不属于关键字的是?(B)
A. and
B. print
C. True
D. in
理由:print属于函数名
-
下面哪个选项对应的代码写法是正确的?(C)
A.
print('Python') print('新手村')
B.
print('Python') print('新手村')
C.
print('Python') print('新手村')
D.
print('Python''新手村')
理由:A.乱打缩进,B.没打分号,D.没打逗号
-
下面选项中能打印出50的是?B
A.
print('100 - 50')
B.
print(100 - 50)
理由:A.打印出100 - 50
-
关于引号,下面选项中使用正确的是?D
A.
print('hello)
B.
print("hello')
C.
print(“hello”)
D.
print("hello")
理由:A.右边没打,B.两边分号不一样,C.是中文引号
二、编程题
-
写代码在控制台打印
good good study, day day up!
print('good good study, day day up!')
-
写代码在控制台打印5次
you see see, one day day!
for x in range(5): print('you see see, one day day!')
-
写代码打印数字 11、12、13、… 21
for x in range(11, 22): print(x, end=' ')
-
写代码打印数字 11,13,15,17,…99
for x in range(11, 100, 2): print(x, end=' ')
-
写代码打印数字:10、9、8、7、6、5
for x in range(10, 4, -1): print(x, end=' ')
-
写代码计算: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年级都学不会)
-
写代码计算100以内所有偶数的和
# 方法1:使用sum函数 print(sum(range(2, 101, 2))) # 方法2:使用for函数 sum = 0 for x in range(2, 101, 2): sum += x print(sum)
-
写代码统计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),笑死) -
写代码计算
2*3*4*5*...*9
的结果factorial = 1 for x in range(2,10): factorial *= x print('2×3×4×...×9的积是:', factorial)
-
输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
# 这是一个判断奇偶性的程序 num = int(input('请输入一个整数:')) if num % 2: print('奇数') else: print('偶数')
-
统计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个
(但是这种题一般考填空题,所以大概率不用答)