Python学习——练习之路

第1章-1 从键盘输入两个数,求它们的和并输出 (30分) 本题目要求读入2个整数A和B,然后输出它们的和。

输入格式: 在一行中给出一个被加数 在另一行中给出一个加数

输出格式: 在一行中输出和值。

输入样例: 在这里给出一组输入。例如:

18
-48

输出样例: 在这里给出相应的输出。例如:

-30

代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB

a=input()
b=input()
print(a+b)

第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30分)

在同一行依次输入三个值a,b,c,用空格分开,输出 bb-4a*c的值

输入格式: 在一行中输入三个数。

输出格式: 在一行中输出公式值。

输入样例: 在这里给出一组输入。例如:

3 4 5

输出样例: 在这里给出相应的输出。例如:

-44

代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB Python

a,b,c=map(int,input().split())
print(b*b-4*a*c)

第1章-3 输出“Python语言简单易学” (10分)

输入格式: 无

输出格式: 输出一句短语,Python语言简单易学。

如果包含汉字,用"print(s.encode(“utf-8”))"输出.

如:

s=“人生苦短,我学Python”
print(s.encode(“utf-8”))

输入样例: 无 输出样例: “人生苦短,我学Python” 的输出:

b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe5\xad\xa6Python'

代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB

s="Python语言简单易学"  
print(s.encode("utf-8"))

第2章-1 计算 11+12+13+…+m (30分)

输入一个正整数m(20<=m<=100),计算 11+12+13+…+m 的值。

输入格式: 在一行输入一个正整数m。

输出格式: 在一行中按照格式“sum = S”输出对应的和S.

输入样例: 在这里给出一组输入。例如:

 `90`  

输出样例: 在这里给出相应的输出。例如:

 sum = 4040
sum=0
m=int(input())
for i in range(11,m+1):
    sum=sum+i
print("sum =",sum)

第2章-2 计算分段函数[1] (10分)

本题目要求计算下列分段函数f(x)的值:

公式

输入格式: 输入在一行中给出实数x。

输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例

`1: 10` 

输出样例

1: f(10.0) = 0.1 

输入样例

2: 0 

输出样例

2: f(0.0) = 0.0
a=float(input())
if(a==0):
    print("f(0.0) = 0.0")
else:
    print("f({:.1f}) = {:.1f}".format(a,1/a))

第2章-3 阶梯电价 (15分)

为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

输入格式:

输入在一行中给出某用户的月用电量(单位:千瓦时)。

输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:

“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。

输入样例1:

10

输出样例1:

cost = 5.30

输入样例2:

100

输出样例2:

cost = 55.50
x=float(input())
if(x>50):
    x=26.5+(x-50)*0.58
    print("cost = {:.2f}".format(x))
elif(x>0):
    print("cost = {:.2f}".format(x*0.53))
else:
    print("Invalid Value!")

第2章-4 特殊a串数列求和 (20分)

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:

输入在一行中给出不超过9的正整数a和n。

输出格式:

在一行中按照“s = 对应的和”的格式输出。

输入样例:

2 3

输出样例:

s = 246
y,n=map(int,input().split())
sum=0
x=y
for i in range (0,n):
    sum+=y
    y=y*10+x
print("s =",sum)

第2章-5 求奇数分之一序列前N项和 (15分)

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。

输入样例:

23

输出样例:

sum = 2.549541
n=int(input())
sum=0
for i in range(0,n):
    sum=sum+1/(2*i+1)
print("sum = {:.6f}".format(sum))
### 关于蓝桥杯 Python 中跳跃类题目及其解法 #### 题目背景与分析 蓝桥杯竞赛中的跳跃类题目通常涉及数组操作、动态规划 (Dynamic Programming, DP) 或贪心算法。这类问题的核心在于如何合理设计状态以及优化计算过程[^2]。 对于跳跃类问题,常见的场景包括: - **单向跳跃**:给定一系列位置和每一步可跳的最大步数,判断能否到达终点。 - **多方向跳跃**:允许向前或向后跳跃一定距离,求最小跳跃次数或其他目标函数值。 以下是针对此类问题的一个通用解决方案框架: --- #### 动态规划解决跳跃问题的思路 动态规划是一种常用的策略来处理跳跃类问题。其核心思想是定义一个 `dp` 数组,其中每个元素表示达到该位置所需的最少跳跃次数或某种最优条件下的代价。 假设我们有一个长度为 `n` 的数组 `arr` 表示各个位置的状态,则可以按照如下方式构建动态规划方程: ```python def min_jumps(arr): n = len(arr) dp = [float('inf')] * n # 初始化 dp 数组为无穷大 dp[0] = 0 # 初始位置不需要跳跃 for i in range(1, n): # 遍历每一个位置 for j in range(i): # 尝试从前一个位置跳到当前位置 if j + arr[j] >= i and dp[j] != float('inf'): # 如果可以从 j 跳到 i dp[i] = min(dp[i], dp[j] + 1) # 更新当前最少跳跃次数 return dp[-1] if dp[-1] != float('inf') else -1 # 返回最后一个位置的结果 ``` 上述代码实现了基于动态规划的最小跳跃次数问题解答方法。 --- #### 使用贪心算法优化跳跃问题 除了动态规划外,某些特定条件下还可以采用更高效的贪心算法解决问题。例如,在“跳跃游戏”中只需要验证是否存在一种路径能够抵达终点即可,而无需关心具体的跳跃次数。 下面是一个典型的贪心算法实现例子: ```python def can_jump_greedy(arr): max_reach = 0 # 当前能到达的最远索引 for i, jump in enumerate(arr): if i > max_reach: # 若当前位置无法被覆盖则返回 False return False max_reach = max(max_reach, i + jump) # 更新最大可达范围 return True # 如果循环结束说明可以到达最后一位 ``` 此段代码利用了局部最优原则——即每次尽可能扩展所能触及的距离,从而保证整体效率最高。 --- #### 总结 无论是通过动态规划还是贪心算法解决跳跃类问题,都需要仔细考虑边界情况并选择合适的数据结构存储中间结果。此外,实际编程过程中还应注意时间复杂度控制以应对大规模数据集带来的挑战。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值