【蓝桥杯入门篇】Python组刷题日寄Part01

刷题日记?刷题日寄!
萌新备战蓝桥杯python组
🌹 发现有需要纠正的地方,烦请指正!
🚀 欢迎小伙伴们的三连+关注!

入门篇01

第01题:简单的a+b

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
输入两个整数a和b,计算a+b的和
本题很简单,但是注意此题是多组测试数据,即需要不停的接收系统的测试输入,你都可以计算结果并输出
输入描述:
输入两个整数A和B
范围不超过2^10
输出描述:
求A+B
样例输入:
1 1
10 20
样例输出:
2
30


答案:

分析:
map(int,input().strip().split()) 可以让一行中输入多个数据

def main():
	while True:
    	try:
        	a,b=map(int,input().strip().split())
        	if a>2**10 or b>2**10:
            	break
        	print(a+b)
    	except:
        	break
	
if __name__ == '__main__':
   main()

第02题:第一个HelloWorld程序

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
学习了输出语句,请参照例题,编写一个程序,输出以下信息:


Hello World!


注意:Hello与World之间有一个空格以及大小写问题
*也是输出的一部分,别光打印Hello World!
输入描述:
无需输入
输出描述:

**************************
Hello World!
**************************

样例输入:

样例输出:

**************************
Hello World!
**************************

答案:

分析:

def main():
	print("**************************")
	# print("*"*26)
	print("Hello World!")
	print("**************************")
	
if __name__ == '__main__':
   main()

第03题:三个数最大值

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
编写一个程序,输入a、b、c三个值,输出其中最大值。
输入描述:
一行数组,分别为a b c
输出描述:
a b c其中最大的数
样例输入:
10 20 30
样例输出:
30


答案:

分析:
map分别赋值;用max函数求最大值

def main():
	a,b,c=map(int,input().strip().split())
	print(max(a,b,c))
	
if __name__ == '__main__':
   main()

第04题:密码破译

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
例如,字母"A"后面第4个字母是"E".“E"代替"A”。因此,“China"应译为"Glmre”。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
输入描述:
China
输出描述:
加密后的China
样例输入:
China
样例输出:
Glmre


答案:

分析:
输入字符串,对字符串的每一个字符的ASCII码进行加4,然后进行输出即可

def main():
	inp=input()
	for i in inp:
    	print(chr(ord(i)+4),end='')
	
if __name__ == '__main__':
   main()

第05题:温度转换

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9,取位2小数。
输入描述:
一个华氏温度,浮点数
输出描述:
摄氏温度,浮点两位小数
样例输入:
-40
样例输出:
c=-40.00


答案:

分析:

  1. 输入华氏温度
  2. 进行换算
  3. 输出摄氏温度(注意保留的小数位)
def main():
	n=eval(input())
	c=5*(n-32)/9
	print("c={:.2f}".format(c))
	
if __name__ == '__main__':
   main()

第06题:成绩评定

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
输入描述:
一个整数0-100以内
输出描述:
一个字符,表示成绩等级
样例输入:
90
样例输出:
A


答案:

分析:
用字典映射。

def main():
	score = int(input())
	a=score//10
	# //整数除法,向下取整
	dict1 = {
	   10:'A',
	   9:"A",
	   8:"B",
	   7:"C",
	   6:"D"
	}
	# 字典映射,与其他语言switch的语法功能类似
	grade = dict1.get(a,"E")
	# 字典访问,若存在键a,则返回该值,若不存在,则返回E。
	print(grade)
	
if __name__ == '__main__':
   main()

第07题:数字的处理与判断

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
输入描述:
一个不大于5位的数字
输出描述:
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
样例输入:
12345
样例输出:
5
1 2 3 4 5
54321


答案:

分析:

def main():
	inp=input()
	strlen=len(inp)
	print(strlen)
	for i in inp:
		print(i, end=" ")
	print()
	print(inp[::-1])
	
if __name__ == '__main__':
   main()

第08题:利润计算

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;
600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
输入描述:
一个整数,当月利润。
输出描述:
一个整数,奖金。
样例输入:
900
样例输出:
90


答案:

分析:

def main():
    n = int(input())
    def func(n):
        if n <= 100000:
            result = n * 0.1
        elif 100000 < n <= 200000:
            result = func(100000) + (n - 100000) * 0.075
        elif 200000 < n <= 400000:
            result = func(200000) + (n - 200000) * 0.05
        elif 400000 < n <= 600000:
            result = func(400000) + (n - 400000) * 0.03
        elif 600000 < n <= 1000000:
            result = func(600000) + (n - 600000) * 0.015
        else:
            result = func(1000000) + (n - 1000000) * 0.01
        return result
    print(int(func(n)))

if __name__ == '__main__':
    main()

第09题:最大公约数和最小公倍数

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入描述:
两个整数
输出描述:
最大公约数,最小公倍数
样例输入:
5 7
样例输出:
1 35


答案:

分析:
通过 for 循环求出最大公因数,再通过 最小公倍数=两数之积/最大公因数 得出最小公倍数

def main():
	a,b=map(int,input().split())
	s=a*b
	while a%b:
    	a,b=b,a%b
    	
	print(b,s//b)
	
if __name__ == '__main__':
   main()

第10题:字符串分类统计

题目:
时间限制:
1s
内存限制:
128MB
题目描述:
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入描述:
一行字符,长度不超过200
输出描述:
统计值
样例输入:
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出:
23 16 2 4


答案:

分析:

  1. 输入字符串
  2. 创建变量,用于存储
  3. 通过遍历进行判断
  4. 输出变量
def main():
    alpha_count = 0
    digit_count = 0
    blank_count = 0
    other_count = 0
    strinp = input(str())
    for i in strinp:
        if i.isalpha():
            alpha_count += 1
        elif i.isdigit():
            digit_count += 1
        elif i == ' ':
            blank_count += 1
        else:
            other_count += 1
    print(alpha_count, digit_count, blank_count, other_count)

if __name__=="__main__":
    main()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

四口鲸鱼爱吃盐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值