Python初学者必会的11道测试题,含代码!! 您所在的位置:网站首页 数学22222等于4 Python初学者必会的11道测试题,含代码!!

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

#Python初学者必会的11道测试题,含代码!!| 来源: 网络整理| 查看: 265

前言

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

1

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

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行字符居中排列,并输出

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

2

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

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)) # 输出当前行

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

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有