Advertisement

青少年蓝桥杯模拟题——python

阅读量:

1.选择题(答案在末尾)

1、Python中定义函数的关键字是( ).

A、class B、import C、def D、while

2、Python中可以创建空字典的是( )。

A、dic=( ) B、dic={ } C、dic=set( ) D、dic=[ ]

3、已知:s='pythonnohtyp', 执行print(s.index('h')+s.rindex('n'))语句后, 输出的结果是( )。

A、-2 B、-3 C、9 D、11

str.rindex(str, beg=0 end=len(string))。返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常。

str.index(substring, beg=0, end=len(string))。如果包含子字符串返回开始的索引值,否则抛出异常。

4、己知a=2021.0529,一下代码选项可以输出"2021.05”( )

A.print("(2f)".format(a))

B.print("{:.2f}".format(a))

C.print("[2]".format(a))

D.print("{.2f}".format(a))

这里考察的是格式化输出Python format 格式化函数 | 菜鸟教程:基本语法是通过 {}: 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。

"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序

'hello world'

"{0} {1}".format("hello", "world") # 设置指定位置

'hello world'

"{1} {0} {1}".format("hello", "world") # 设置指定位置

'world hello world'

print("{:.2f}".format(3.1415926))

3.14

5、已知pi=3.1415926,print(round(pi),round(pi,2),输出结果是( )

A、3 3.14

B、2 4

C、3 6.18

D、3.14 3

round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

6、以下哪项是取余运算符?( )

A、* B、∥ C、% D、+

7、Python中的列表和元组的描述正确的是( )。

A、列表中元素的值可修改,元组中元素的值不可修改

B、列表是有序的,元组是无序的

C、列表是一维的,元组可以是多维的

D、列表可以包含不同类型的元素,元组只能包含相同类型的元素

8、下列方法中,哪一个可以随机生成一个实数( )。

A、random()

B、randrange() 从 range(start, stop, step) 返回一个随机选择的元素

C、getrandbits() getrandbits(k) 返回具有 k 个随机比特位的非负 Python 整数

D、randint() randint(start, stop) 返回指定范围内的整数

9. 以下程序,输出的结果是( )。

D= {'Beijing':'China','Washington':'America','Ottawa':'Canadian'}

print(max(d),min(d))

A、Vashington Ottawa

B、Canadian China

C、America China

D、Washington Beijing

max(dict_data) # 返回字典中key最大的项,返回值为key。

10.如果p=ord('b'),print(p,chr(p+3)%26+p)语句,输出的结果是( )。

A、66 D

B、66 S

C、98 y

D、98 e

ord()用于表示某个字符的ASCII码值;chr()表示将ASCII码值转为对应的字符。

2.编程题

第一题:

复制代码
 weight = float(input("请输入您的体重(Kg): "))

    
 height = float(input("请输入您的身高(m): "))
    
 bmi = round(weight / (height ** 2), 1)
    
 if bmi < 18.5:
    
     category= "过轻"
    
 elif 18.5 <= bmi <= 23.9:
    
     category= "正常"
    
 elif 24 <= bmi <= 26.9:
    
     category= "过重"
    
 elif 27 <= bmi <= 32:
    
     category= "肥胖"
    
 else:
    
     category= "非常肥胖"
    
 print(f"\n您的BMI指数为:{bmi}")
    
 print("您的体重情况:")
    
 print(category)
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/oW06slkFnNr4aVftEub3Swe5xYTm.png)
复制代码
 def calculate_bmi(weight, height):

    
     return round(weight / (height ** 2), 1)
    
 def bmi_category(bmi):
    
     if bmi < 18.5:
    
     return "过轻"
    
     elif 18.5 <= bmi <= 23.9:
    
     return "正常"
    
     elif 24 <= bmi <= 26.9:
    
     return "过重"
    
     elif 27 <= bmi <= 32:
    
     return "肥胖"
    
     else:
    
     return "非常肥胖"
    
 def main():
    
     try:
    
     weight = float(input("请输入您的体重(Kg): "))
    
     height = float(input("请输入您的身高(m): "))
    
     bmi = calculate_bmi(weight, height)
    
     category = bmi_category(bmi)
    
     print(f"\n您的BMI指数为:{bmi}")
    
     print("您的体重情况:")
    
     print(category)
    
     except ValueError:
    
     print("输入的值无效,请确保输入的是数字格式。")
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/wM1x8tK6BkYTrbmfgaNWyRv5V0Ld.png)

第二题:

复制代码
 letters = 0

    
 spaces = 0
    
 digits = 0
    
 others = 0
    
  
    
 string = input("请输入一行字符: ") #这里不需要提醒
    
 for char in string:
    
     if char.isalpha():
    
     letters += 1
    
     elif char.isspace():
    
     spaces += 1
    
     elif char.isdigit():
    
     digits += 1
    
     else:
    
     others += 1
    
     
    
 print(f"英文字母: {letters}")  #这里输出不需要注释
    
 print(f"空格: {spaces}")
    
 print(f"数字: {digits}")
    
 print(f"其它字符: {others}")
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/UjHPI7oma6FdLxX8K5gYGp13wSDJ.png)
复制代码
 def count_characters(s):

    
     letters = 0
    
     spaces = 0
    
     digits = 0
    
     others = 0
    
     
    
     for char in s:
    
     if char.isalpha():
    
         letters += 1
    
     elif char.isspace():
    
         spaces += 1
    
     elif char.isdigit():
    
         digits += 1
    
     else:
    
         others += 1
    
     
    
     return letters, spaces, digits, others
    
  
    
 def main():
    
     input_string = input("请输入一行字符: ")
    
     letters, spaces, digits, others = count_characters(input_string)
    
     
    
     print(f"英文字母: {letters}")
    
     print(f"空格: {spaces}")
    
     print(f"数字: {digits}")
    
     print(f"其它字符: {others}")
    
  
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/R60yXMm9W1Voi3sU5Ekw7dTPNu8A.png)

第三题:学会用eval(input())进行多输入,这里要用“,“隔开。

如果使用空格或者其他符号隔开输入就要用到map(type,input().split())

复制代码
 import math

    
 # 输入分数
    
 nums = eval(input())   
    
 numerator, denominator = nums
    
 # 显示输入的分数
    
 print(f"{numerator}/{denominator}")
    
 gcd = math.gcd(numerator, denominator)
    
 simplified_numerator = numerator // gcd
    
 simplified_denominator = denominator // gcd
    
 # 显示约分后的最简分数
    
 if simplified_denominator == 1:
    
     print(str(simplified_numerator))
    
 else:
    
     print(f"{simplified_numerator}/{simplified_denominator}")
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/sDNu72Ry5g1P6XHwhxlnKqC4Ovrp.png)
复制代码
 import math

    
  
    
 def simplify_fraction(numerator, denominator):
    
     gcd = math.gcd(numerator, denominator)
    
     simplified_numerator = numerator // gcd
    
     simplified_denominator = denominator // gcd
    
     if simplified_denominator == 1:
    
     return str(simplified_numerator)
    
     else:
    
     return f"{simplified_numerator}/{simplified_denominator}"
    
  
    
 def main():
    
     # 输入分数
    
     input_str = input("请输入两个正整数(以逗号分隔)分别作为分数的分子和分母: ")
    
     nums = eval(input_str)
    
     
    
     numerator, denominator = nums
    
     
    
     # 显示输入的分数
    
     print(f"{numerator}/{denominator}")
    
     
    
     # 显示约分后的最简分数
    
     simplified_fraction = simplify_fraction(numerator, denominator)
    
     print(simplified_fraction)
    
  
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/g5YsiG1klmjahTJKZfwQSDM0nE89.png)

第四题:考察的递归函数。视频链接分形树

复制代码
 这是第一层就有两个分支

    
 import turtle
    
  
    
 def draw_branch(branch_length, level):
    
     if level == 0:
    
     return
    
     
    
     # 绘制当前层的树枝
    
     turtle.forward(branch_length)
    
     
    
     # 绘制左分支
    
     turtle.left(30)
    
     draw_branch(branch_length - 6, level - 1)
    
     turtle.right(30)
    
     
    
     # 绘制右分支
    
     turtle.right(30)
    
     draw_branch(branch_length - 6, level - 1)
    
     turtle.left(30)
    
     
    
     # 返回到当前层的起点
    
     turtle.backward(branch_length)
    
  
    
 def main():
    
     turtle.speed(1)  # 设置绘图速度
    
     turtle.left(90)  # 设置初始方向为向上
    
     
    
     # 绘制第1层左分支
    
     turtle.left(30)
    
     draw_branch(60, 4)  # 第1层开始,长度为60,递归4层
    
     turtle.right(30)
    
     
    
     # 回到主干并绘制第1层右分支
    
     turtle.right(30)
    
     draw_branch(60, 4)  # 第1层开始,长度为60,递归4层
    
     turtle.left(30)
    
     
    
     turtle.hideturtle()
    
     turtle.done()
    
  
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/TljXhIyBLbgvfuMtZKQAHxF0qi5k.png)
复制代码
 这是第一层只有一个分支,结果如下

    
 import turtle
    
  
    
 def draw_branch(branch_length, level):
    
     if level == 0:
    
     return
    
  
    
     turtle.forward(branch_length)
    
  
    
     # 左分支
    
     turtle.left(30)
    
     draw_branch(branch_length - 6, level - 1)
    
     turtle.right(30)
    
  
    
     # 右分支
    
     turtle.right(30)
    
     draw_branch(branch_length - 6, level - 1)
    
     turtle.left(30)
    
  
    
     turtle.backward(branch_length)
    
  
    
 def main():
    
     turtle.speed(1)  # 设置绘图速度
    
     turtle.left(90)  # 设置初始方向为向上
    
     turtle.up()
    
     turtle.backward(100)  # 向下移动起点位置
    
     turtle.down()
    
     draw_branch(60, 4)  # 绘制分形树
    
     turtle.hideturtle()
    
     turtle.done()
    
  
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/DvcUxPn4QGojVRJTLzFOy0fKbdal.png)

第五题:

复制代码
 def days_to_complete(a, b, n):

    
     # 每周的题目总数
    
     weekly_total = 5 * a + 2 * b    
    
     # 完整的周数
    
     full_weeks = n // weekly_total 
    
     # 剩余需要完成的题目数
    
     remaining = n % weekly_total 
    
     # 初始化天数
    
     days = full_weeks 
    
     # 在不完整的一周中计算天数
    
     for i in range(7):
    
     if i < 5:
    
         remaining -= a
    
     else:
    
         remaining -= b
    
     days += 1
    
     if remaining <= 0:
    
         break
    
     return days
    
 # 读取输入
    
 a, b, n = map(int, input().split())
    
 # 输出结果
    
 print(days_to_complete(a, b, n))
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/7q2LlCBcerJ1ivo6TGDkzUQOKHbt.png)

第六题:视频链接:python打印杨辉三角形

复制代码
 def generate_pascals_triangle(n):

    
     triangle = [[1]]
    
     for i in range(1, n):
    
     row = [1]
    
     for j in range(1, i):
    
         row.append(triangle[i-1][j-1] + triangle[i-1][j])
    
     row.append(1)
    
     triangle.append(row)
    
     return triangle
    
  
    
 def print_pascals_triangle(triangle):
    
     max_width = len(triangle[-1]) * 4  # 增加每个数字之间的间隔
    
     for row in triangle:
    
     print(''.join('{:<4}'.format(num) for num in row).center(max_width))
    
  
    
 def main():
    
     # 读取输入
    
     n = int(input("请输入一个正整数 (2≤n≤15): "))
    
  
    
     if 2 <= n <= 15:
    
     triangle = generate_pascals_triangle(n)
    
     
    
     # 输出列表形式
    
     print("第一部分输出:")
    
     for row in triangle:
    
         print(row)
    
     
    
     # 输出杨辉三角形形式
    
     print("第二部分输出:")
    
     print_pascals_triangle(triangle)
    
     else:
    
     print("输入不在范围内。")
    
  
    
 if __name__ == "__main__":
    
     main()
    
    
    
    
    AI生成项目python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-13/oJMFSCO6XAbYszHWyZhm4gP192d5.png)

选择题答案:CBCBACAADC

全部评论 (0)

还没有任何评论哟~