iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python初学者必会的11道测试题,含代码!!
  • 922
分享到

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

python开发语言算法 2023-10-23 21:10:34 922人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

前言 一个学妹问我的11道python题,我就顺手拿来做了下,发现有些题目还是很有意思的。 1 随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。 【提示】 (I)随机数

前言

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

1

随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。
【提示】
(I)随机数生成需要导入random库后调用randint(a,b)函数;
(2)利用序列range()函数,获得字母编码值,调用chr()函数将字母编码值转换成字母。
在这里插入图片描述

import randomn = random.randint(5, 10)  # 随机生成5到10之间的整数nfor 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行字符居中排列,并输出

运行结果
在这里插入图片描述

2

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

import random# 生成[5,10]范围内的随机整数nn = 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))  # 输出当前行

运行结果
在这里插入图片描述

3

输入一个算术表达式,检查其中的圆括号配对情况,输出的信息如下图所示。
输入表达式:(3+4)*5-(6=
左括号多于右括号
提示:利用for语句遍历整个表达式,分别统计左、右括号的数量。
在这里插入图片描述

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)

运行结果
在这里插入图片描述

4 和 5

输入一个英文句子,各单词间空格分隔,输出最长的单词及其长度。
提示:利用字符串的split方法,将单词分离到列表中;然后遍历列表时用len0函数求出最长的单
词。
输入任意位的正整数,利用while语句将输入的数按逆序显示。例如,输入15356输出65351。
提示:将一个十进制数x不断地除以十取余数,并将余数连接,直到x为0。
在这里插入图片描述
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)

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

在这里插入图片描述
5

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

运行结果
在这里插入图片描述

6 和 7

计算下列级数的值,直到第项的值小于10的负4次方时结束。
计算P的近似值,计算公式为:
求n=1000时的值,并与数学库提供的常数pi进行验证。
在这里插入图片描述
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())

运行结果
在这里插入图片描述
我不确定对不对,结果是个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))

运行结果
在这里插入图片描述

8

编一程序,找出所有的水仙花数。所谓水仙花数,是指一个3位数,其名位数字的立方和等于该数
字本身。例如,153是水仙花数,因为153=13+53+33。
提示:解该题的方法有两种:
(1)利用三重循环,将三个一位数连接成一个3位数进行判断。
(2)利用单循环将一个3位数逐位分离后进行判断。
在这里插入图片描述

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)

运行结果
在这里插入图片描述

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
在这里插入图片描述

# 定义求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)

运行结果
在这里插入图片描述

10

利用枚举法安排期末考试。期末考试在周一到周六的6天时间内要考×、y、Z三门课程,考试课程顺
序先考x,后考y,最后考z,规定一天只能考一门,且z课程最早安排在周五考。编写程序列出满足
条件的所有考试安排方案。
提示:利用枚举法通过三重循环来解决。
在这里插入图片描述

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))

运行结果
在这里插入图片描述

11

猜数游戏。计算加随机产生一个1~100之间的整数,由用户去猜,猜中即胜;猜不中,显示提示信
息,继续猜,直至猜中,显示相关信息和次数,如下图所示。
输入猜测的数:50
50小
输入猜测的数:75
75大了
输入猜测的数:62
62小了
输入猜测的数:68
68小了
输入猜测的数:71
71大了
输入猜测的数:69
69小了
输入猜测的数:70
70恭喜你猜对了!你猜了7次
在这里插入图片描述

import randomnum = 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

运行结果
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_33727204/article/details/129699890

--结束END--

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

本文链接: https://www.lsjlt.com/news/440889.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python初学者必会的11道测试题,含代码!!
    前言 一个学妹问我的11道python题,我就顺手拿来做了下,发现有些题目还是很有意思的。 1 随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。 【提示】 (I)随机数...
    99+
    2023-10-23
    python 开发语言 算法
  • html初学者测试代码怎么写
    这篇文章主要介绍了html初学者测试代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html初学者测试代码怎么写文章都会有所收获,下面我们一起来看看吧。建立一个文本文档...
    99+
    2024-04-02
  • Shell 初学者必读:Python 面试中的常见问题
    在 Python 面试中,Shell 的知识也是不可或缺的。作为一名初学者,你需要掌握一些常见的 Shell 命令,以及它们在 Python 中的使用方法。在本篇文章中,我们将会介绍一些常见的 Shell 命令,并演示它们在 Python...
    99+
    2023-10-16
    面试 shell 教程
  • Python的10道简单测试题(含答案)
    1 以下代码的输出结果为: print(round(-3.6)) A.-4 B.-4.0 C.-3 D. -3.0 2 以下代码的输出结果为(Python3.6及以上): dic=...
    99+
    2023-05-15
    Python Python测试题 Python测试题 答案
  • Python初学者必须了解的五个基础代码示例
    Python初学者必知的5个入门代码示例 Python是一种简洁而强大的编程语言,适合初学者入门。在学习Python的过程中,掌握几个基本的入门代码示例对于建立基础知识和提高编程能力非常重要。下面给出了5个初学者必知的入门代码示...
    99+
    2024-01-13
    变量 循环 条件判断
  • Python初学者的简单代码分享
    简单易懂的Python入门代码分享 Python是一种简单易学的编程语言,具有简洁的语法和强大的功能。对于初学者来说,一个好的入门代码示例可以让他们更容易理解和掌握Python的基本概念和语法。以下是几个简单易懂的Python入...
    99+
    2024-01-13
    Python 入门代码 简单易懂
  • 初学者必须知道的MySQL数据库常见问题汇总
    本篇内容介绍了“初学者必须知道的MySQL数据库常见问题汇总”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • 如果这10道关于数据库的测试题你都会,面试必过!
    一、什么是数据库测试?数据库测试也称为后端测试。数据库测试分为四个不同的类别。[if !supportLists]· [endif]数据完整性测试[if !supportLists]· [endif]数据有效性测试[if !supportL...
    99+
    2023-06-05
  • Python编程初学者的快速起步:5个基本代码示例
    快速入门Python编程:5个基础代码案例 Python是一种流行的高级编程语言,它简单易学,具有丰富的库和功能,被广泛应用于数据分析、机器学习、网站开发等领域。在本文中,我将向你介绍5个基础的Python代码案例,帮助你快速入...
    99+
    2024-01-13
  • 「Python 学习笔记」:如何在 Django shell 中快速测试你的代码?
    Python 学习笔记:如何在 Django shell 中快速测试你的代码? 在 Django 开发过程中,我们经常需要测试我们的代码,以确保它们能够正常运行。通常我们会使用 Django 的测试框架来编写测试用例。但是,在某些情况下,使...
    99+
    2023-11-02
    学习笔记 django shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作