python 基础知识点(蓝桥杯python科目个人复习计划15)

今日复习内容:以做题为主

第一题:

问题描述:

在蓝桥镇,妮妮拥有一片美丽的果园,果园中有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,这次就写到这里,这些题都很简单,就当复习一下前面提到的知识点,下次继续! 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值