今日复习内容:以做题为主
第一题:
问题描述:
在蓝桥镇,妮妮拥有一片美丽的果园,果园中有N种不同的水果树,每种水果树上的水果都有其特定的价值,妮妮记下了每种水果的价值,用一个正整数Ai来表示。现在妮妮想知道,如果她把果园里所有种类的水果都摘下来卖掉,她能获得多少的总价值。
输入格式:
输入的第一行包含一个整数N,表示果园中水果的种类数;
接下来是一行包含N个整数A1,A2......AN(数字是右下角的角标,我编辑不出来),表示每种水果的价值;
其中,满足条件1 <= N <= 100,1 <= AN <=100。
输出格式:
输出一个整数,表示妮妮可以获得的总价值。
方法一:
N = int(input())
fruits = input().split()
a = 0
for i in range(len(fruits)):
fruits[i] = int(fruits[i])
a += fruits[i]
print(a)
运行结果:
方法二:
N = int(input())
fruits = list(map(int,input().split()))
print(sum(fruits))
运行结果同上
第二题:
题目描述:
给定三个整数a,b,c,如果一个整数既不是a的倍数也不是b的倍数,还不是c的倍数,则这个数叫反倍数。
请问在1到n中共有几个反倍数?
输入描述:
输入的第一行,包含一个整数n;
第二行包含三个整数a,b,c,相邻两个数之间用空格隔开;
其中,1 <= n <= 1000000 , 1 <= a <= n , 1 <= b <= n,1 ,1 <= c <= n ;
输出描述:
输出一行,包含一个整数,表示答案。
n = int(input())
a,b,c = map(int,input().split())
ans = 0
for i in range(1,n+1):
if i % a != 0 and i % b != 0 and i % c != 0:
ans += 1
print(ans)
运行结果:
高级版本:
def check(i):
if i % a != 0 and i % b != 0 and i % c != 0:
return True
return False
n = int(input())
a,b,c = map(int,input().split())
ans = 0
for i in range(1,n+1):
if check(i):
ans += 1
print(ans)
运行结果同上
第三题:
题目描述:
小明不喜欢数字2,包括那些数位上有2的数,如果一个数的数位上都不包含数字2,则称这个数为洁净数。请问1到n中共有多少个洁净数?
输入要求:
输入的第一行,包含整数n;
1 <= n <= 1000000
输出要求:
输出一行包含一个整数,表示答案
第一种方法:
def check(x):
while(x != 0):
d = x % 10
if d == 2:
return False
x //= 10
return True
n = int(input())
ans = 0
for i in range(1,n+1):
if check(i):
ans += 1
print(ans)
运行结果:
第二种方法:
n = int(input())
ans = 0
for i in range(1,n+1):
i = str(i)
if '2' not in i:
ans += 1
print(ans)
运行结果同上
拓展题目:
打印特定图形
N = 4
for i in range(1,N+1):
print(' '*(N - i) + '*'*(2*i - 1))
for i in range(1,N):
print(' '*i + '*'*((N - i)*2 - 1))
运行结果:
第四题:
题目描述:
本题为填空题,只需要算出结果后,在代码中使用输出语句将答案输出即可。
小明每天都锻炼身体,正常情况下,他每天都跑1公里,如果某天是周一或月初(1日) ,为了激励自己,他每天跑2公里,如果同时是周一和月初,则跑2公里。小明已经坚持跑步了很久,从2000年1月1日星期六(含)到2020年10月1日星期四(含),请问小明一共跑了多少公里?
import datetime
start = datetime.date(2000,1,1)
end = datetime.date(2020,10,1)
day = datetime.timedelta(days=1)
ans = 0
while start <= end:
if start.weekday() == 0 or start.day == 1:
ans += 2
else:
ans += 1
start += day
print(ans)
运行结果:
OK,这次就写到这里,这些题都很简单,就当复习一下前面提到的知识点,下次继续!