Python初学者必会的11道测试题,含代码!!

这篇具有很好参考价值的文章主要介绍了Python初学者必会的11道测试题,含代码!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

一个学妹问我的11道python题,我就顺手拿来做了下,发现有些题目还是很有意思的。

1

随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。
【提示】
(I)随机数生成需要导入random库后调用randint(a,b)函数;
(2)利用序列range()函数,获得字母编码值,调用chr()函数将字母编码值转换成字母。
python简单代码测试,python,开发语言,算法

import random

n = random.randint(5, 10)  # 随机生成5到10之间的整数n
for i in range(1, n+1):
    num_of_chars = 2 * i - 1  # 第i行有2i-1个字符
    if i % 2 == 0:  # 判断当前行数i是否为偶数
        char = chr(97+i-1)  # 偶数行字符为小写字母i的大写字母
    else:
        char = chr(97+i-1)  # 奇数行字符为小写字母i本身
    line = char * num_of_chars  # 构造第i行的字符
    print(line.center(n*2-1))  # 将第i行字符居中排列,并输出

运行结果
python简单代码测试,python,开发语言,算法

2

随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。
【提示】
(1)随机数生成需要导入random库后调用randint(a,b)函数;
(2)利用序列range()函数,获得字母编码值,调用chr(0函数将字母编码值转换成字母。
(3)若n是奇数,输出如左图所示的图形;若n是偶数,输出如右图所示的图形。
python简单代码测试,python,开发语言,算法

import random

# 生成[5,10]范围内的随机整数n
n = random.randint(5, 10)

# 根据n的奇偶性,选择输出A、B字母的范围
if n % 2 == 0:
    letter_range = range(65, 74)  # A~I字母的编码值
else:
    letter_range = range(65, 73)  # A~H字母的编码值

# 输出图形
for i in range(n):
    letter = chr(letter_range[i % len(letter_range)])  # 获取当前行应输出的字母
    spaces = n - i - 1  # 计算当前行前面应输出的空格数
    print(' ' * spaces + letter * (2 * i + 1))  # 输出当前行
for i in range(n - 2, -1, -1):
    letter = chr(letter_range[i % len(letter_range)])  # 获取当前行应输出的字母
    spaces = n - i - 1  # 计算当前行前面应输出的空格数
    print(' ' * spaces + letter * (2 * i + 1))  # 输出当前行

运行结果
python简单代码测试,python,开发语言,算法

3

输入一个算术表达式,检查其中的圆括号配对情况,输出的信息如下图所示。
输入表达式:(3+4)*5-(6=
左括号多于右括号
提示:利用for语句遍历整个表达式,分别统计左、右括号的数量。
python简单代码测试,python,开发语言,算法

def check_parentheses(expression):
  # 创建一个空栈
  stack = []
  # 遍历表达式中的每个字符
  for char in expression:
    # 如果是左括号,就压入栈中
    if char == "(":
      stack.append(char)
    # 如果是右括号,就和栈顶的左括号匹配并弹出
    elif char == ")":
      # 如果栈为空,说明右括号多于左括号
      if not stack:
        return "右括号多于左括号"
      else:
        stack.pop()
  # 如果最后栈不为空,说明左括号多于右括号
  if stack:
    return "左括号多于右括号"
  else:
    return "圆括号是平衡的"

# 输入一个算术表达式
expression = input("输入表达式:")
# 调用函数检查圆括号配对情况,并输出结果
result = check_parentheses(expression)
print("输出结果:", result)

运行结果
python简单代码测试,python,开发语言,算法

4 和 5

输入一个英文句子,各单词间空格分隔,输出最长的单词及其长度。
提示:利用字符串的split方法,将单词分离到列表中;然后遍历列表时用len0函数求出最长的单
词。
输入任意位的正整数,利用while语句将输入的数按逆序显示。例如,输入15356输出65351。
提示:将一个十进制数x不断地除以十取余数,并将余数连接,直到x为0。
python简单代码测试,python,开发语言,算法
4

def find_longest_word(sentence):
  # 将句子分割成单词列表
  words = sentence.split()
  # 使用max函数,以len为关键字参数,找出最长的单词
  longest = max(words, key=len)
  # 返回最长的单词及其长度
  return longest, len(longest)

# 输入一个英文句子
sentence = input("输入一个英文句子:")
# 调用函数找出最长的单词及其长度,并输出结果
word, length = find_longest_word(sentence)
print("输出结果:")
print("最长的单词是:", word)
print("它的长度是:", length)

运行结果,这个有一个小问题就是句子中如果有标点符号 也会算进单词里

python简单代码测试,python,开发语言,算法
5

num = int(input("请输入一个正整数:"))
reverse = 0  # 存储翻转后的数
while num > 0:
    reverse = reverse * 10 + num % 10  # 将余数连接到reverse末尾
    num //= 10  # 整除10,将num的最后一位删除
print("逆序显示的数为:", reverse)

运行结果
python简单代码测试,python,开发语言,算法

6 和 7

计算下列级数的值,直到第项的值小于10的负4次方时结束。
计算P的近似值,计算公式为:
求n=1000时的值,并与数学库提供的常数pi进行验证。
python简单代码测试,python,开发语言,算法
6

# 定义递推函数
def t(n):
    # 如果n为0,返回1
    if n == 0:
        return 1
    # 否则返回前一项加上n
    else:
        return t(n-1) + n

# 定义级数函数
def s():
    # 初始化一个空列表
    values = []
    # 初始化i为0
    i = 0
    # 循环计算每一项的值,直到小于10的负4次方为止
    while True:
        # 计算第i项的值,并取倒数
        value = 1 / t(i)
        # 如果值小于10的负4次方,跳出循环
        if value < 10 ** -4:
            break
        # 否则将值添加到列表中,并增加i的值
        else:
            values.append(value)
            i += 1
    # 返回满足条件的项数和级数和(用sum函数求和)
    return len(values), sum(values)

# 调用级数函数并打印结果
print(s())

运行结果
python简单代码测试,python,开发语言,算法
我不确定对不对,结果是个141位小数
7

# 导入math模块
import math
# 定义计算PI的函数
def pi(n):
    # 初始化结果为2
    result = 2
    # 循环n次,计算每一项并累乘
    for i in range(1, n + 1):
        # 计算分子和分母
        numerator = (2 * i) ** 2
        denominator = (2 * i - 1) * (2 * i + 1)
        # 计算每一项并累乘到结果中
        result *= numerator / denominator
    # 返回结果
    return result

# 调用函数,计算n=1000时的值,并打印出来
print(pi(1000))
# 打印math模块提供的常数pi,并比较两者是否相等(用round函数四舍五入到小数点后6位)
print(math.pi)
print(round(pi(1000), 6) == round(math.pi, 6))

运行结果
python简单代码测试,python,开发语言,算法

8

编一程序,找出所有的水仙花数。所谓水仙花数,是指一个3位数,其名位数字的立方和等于该数
字本身。例如,153是水仙花数,因为153=13+53+33。
提示:解该题的方法有两种:
(1)利用三重循环,将三个一位数连接成一个3位数进行判断。
(2)利用单循环将一个3位数逐位分离后进行判断。
python简单代码测试,python,开发语言,算法

for num in range(100, 1000):
    i = num // 100
    j = (num // 10) % 10
    k = num % 10
    if num == i**3 + j**3 + k**3:
        print(num)

运行结果
python简单代码测试,python,开发语言,算法

9

求S_n=a+aa+aaa+aaa+.aa.aaa(n个a),其中a为1到9,n为5到10,通过键盘输入。
例如:当输入a=2,n=7时,
显示:S_n=2+22+222+2222+22222+222222+2222222
提示:
(1)为了得到不断重复a的n位的数Temp,可用如下程序段实现:
temp=0
for i in range(1,n+1):
temp=temp*10+a
(2)不仅要显示计算结果,还要输出表达式,即输出如下形式的式子:
s=2+22+222+2222+22222+222222+2222222=2469134
python简单代码测试,python,开发语言,算法

# 定义求S_n的函数
def s_n(a, n):
    # 初始化结果为0
    result = 0
    # 初始化每一项为0
    temp = 0
    # 初始化表达式为空字符串
    expression = ""
    # 循环n次,计算每一项并累加到结果中
    for i in range(1, n + 1):
        # 计算每一项,即不断重复a的n位数
        temp = temp * 10 + a
        # 累加到结果中
        result += temp
        # 将每一项转换为字符串,并添加到表达式中,用"+"号分隔
        expression += str(temp) + "+"
    # 去掉表达式最后多余的"+"号,并添加"="号和结果值
    expression = expression[:-1] + "=" + str(result)
    # 返回表达式和结果值(元组形式)
    return (expression, result)

# 获取键盘输入的a和n的值,并转换为整数类型(注意异常处理)
try:
    a = int(input("请输入a(1~9):"))
    n = int(input("请输入n(5~10):"))
except ValueError:
    print("输入错误,请输入整数")
else:
    # 检查a和n是否在合理的范围内(注意条件判断)
    if 1 <= a <= 9 and 5 <= n <= 10:
        # 调用函数,求S_n的值,并打印出来(注意解包元组)
        result = 's=' + s_n(a, n)[0]
        print(result)

运行结果
python简单代码测试,python,开发语言,算法

10

利用枚举法安排期末考试。期末考试在周一到周六的6天时间内要考×、y、Z三门课程,考试课程顺
序先考x,后考y,最后考z,规定一天只能考一门,且z课程最早安排在周五考。编写程序列出满足
条件的所有考试安排方案。
提示:利用枚举法通过三重循环来解决。
python简单代码测试,python,开发语言,算法

for i in range(1, 7):   # 枚举周一到周六
    for j in range(1, 7):
        for k in range(1, 7):
            if i != j and i != k and j != k:  # 保证三门课程不在同一天考
                if k == 5:  # Z课程最早安排在周五考
                    print("X课程在周{}考,Y课程在周{}考,Z课程在周{}考".format(i, j, k))

运行结果
python简单代码测试,python,开发语言,算法

11

猜数游戏。计算加随机产生一个1~100之间的整数,由用户去猜,猜中即胜;猜不中,显示提示信
息,继续猜,直至猜中,显示相关信息和次数,如下图所示。
输入猜测的数:50
50小
输入猜测的数:75
75大了
输入猜测的数:62
62小了
输入猜测的数:68
68小了
输入猜测的数:71
71大了
输入猜测的数:69
69小了
输入猜测的数:70
70恭喜你猜对了!你猜了7次
python简单代码测试,python,开发语言,算法

import random

num = random.randint(1, 100)   # 随机生成一个1~100之间的整数
count = 0   # 记录猜测次数

while True:
    guess = int(input("输入猜测的数:"))
    count += 1
    
    if guess < num:
        print("{}小了".format(guess))
    elif guess > num:
        print("{}大了".format(guess))
    else:
        print("{}恭喜你猜对了!你猜了{}次".format(guess, count))
        break

运行结果
python简单代码测试,python,开发语言,算法文章来源地址https://www.toymoban.com/news/detail-722779.html

到了这里,关于Python初学者必会的11道测试题,含代码!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫入门(一)(适合初学者)

    关于爬虫是什么,怎样保证爬虫的合法性小编在这就不再过多的阐述,从本章起,小编将和大家一起分享在学习python爬虫中的所学,希望可以和大家一起进步,也希望各位可以关注一下我! 首先我们来初步了解下如何使用开发者工具进行抓包。以 https://fanyi.baidu.com/ 为例。在

    2024年01月24日
    浏览(50)
  • Python初学者须知(10)初识条件判断

             本系列博客主要针对的是Python初学者。Python语言简洁、强大的特性吸引了越来越多的技术人员将他们的项目转移到Python上。目前,Python已经成为计算机行业最流行的编程语言之一。笔者考虑到Python初学者的多元化(Python学习者可能是对编程感兴趣的中学生、学校

    2024年01月21日
    浏览(43)
  • Python 初学者容易踩的 5 个坑

    哈喽大家好,我是咸鱼。 今天咸鱼列出了一些大家在初学 Python 的时候容易踩的一些坑,看看你有没有中招过。 原文:https://www.bitecode.dev/p/unexpected-python-traps-for-beginners Python 在词法分析的时候会把多个字符串自动拼接起来。 这个特性可以让我们在声明一个长字符串的时候可

    2024年03月11日
    浏览(50)
  • 手把手教python打包exe,打包一个简易的小程序。tkinter,python初学者。编程初学者作业:用*填充出自己的名字

    【声明】这篇文章可能写的很差,作者技术不够。但是一定原创,一定用最简单的语言,最详细的描述让没有经验的读者能够懂得 【首言】exe是电脑上直接点击就可以使用的。当你写了一个.py文件,可以实现你的有趣功能,于是你高兴的把这个发送给你的朋友,但是你的朋友

    2024年02月01日
    浏览(40)
  • Python初学者友好丨详解参数传递类型

    摘要:  本文清晰地解释了Python中的不同参数传递类型,并提供了示例代码来说明每种类型的用法。对于初学者或不清楚Python传参的读者们来说是非常有益的,文中提供了足够的信息来理解和使用Python中的函数参数传递。 本文分享自华为云社区《提升Python函数调用灵活性:参

    2024年02月09日
    浏览(34)
  • python初学者笔记-continue介绍及使用

    1.continue:     如果在循环中达到到某些条件则跳过当次循环而不是终止整个循环的时候可以利用 continue 来实现。 ① continue 会跳过当次循环,即结束本次循环,进入下一个循环。 执行原理:   continue 会跳过当次循环,即结束本次循环,进入下一个循环。 2.continue与break: 注

    2024年02月08日
    浏览(43)
  • 【新手解答】Python中Pandas的初学者笔记

    🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 前些天发现了一个人工智能学习网站,内容深入浅出、易于理解。如果对人工智能感兴趣,不妨点击查看。 一位CSDN好友询问是否有 python里的p

    2024年03月14日
    浏览(45)
  • 学完python的心得体会,初学者对python的感想

    大家好,给大家分享一下学了一年的python的收获和感想,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Python今年是排名前3的最受欢迎和增长最快的编程语言之一。 它是一种多用途,高级别,面向对象,交互式,解释型和对用户非常友好的编程语言。 那么

    2024年02月08日
    浏览(32)
  • Python GUI初学者教程,轻松构建用户界面

    Python GUI入门教程:轻松构建用户界面。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 Python以其简单性和多功能性成为最受欢迎的编程语言之一。从网络开发到数据科学,Python被广泛应用于各个领域。 本文将探索Python内置的用于创建图形用户界面(GUI)的库

    2024年01月15日
    浏览(51)
  • 详解 matplotlib.pyplot ,Python 初学者真能看懂

    Matplotlib 是一个 Python 中的 2D 绘图库, pyplot 模块是一个方便使用 Matplotlib 的接口。 下面是 pyplot 模块中的五个重要的知识点: 【创建图形】: pyplot 模块提供了许多简单易用的函数来创建图形,如 plot、scatter、bar、hist 等。这些函数可以绘制不同类型的图形,例如散点图、折

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包