python pta实验八

这篇具有很好参考价值的文章主要介绍了python pta实验八。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

​​​​​​​

目录

一、判断题

二、选择题

二、函数题fn

6-1 判断回文函数

6-2 计算一元二次方程的根

三、编程

7-1 计算球体积

7-2 计算每月电费费用

7-3 按顺序输出小于指定值的所有斐波纳契数 

7-4 句子首字母变大写

7-5 计算每个学生的平均成绩


一、判断题

  1. 在Python中使用浮点数除法运算符/时,结果总是浮点数,而使用整数除法运算符//时,如果一个或者两个操作数为浮点数,则结果为浮点数,但小数部分被舍弃。        T
  2. 在Python中,print函数输出不会自动换行,因此,如下两条语句:print('Hello ')print('World!')输出结果为:Hello World!        F
  3. 无论while循环表达式判断结果是真是假,循环体至少执行一次。        F
  4. python中,循环体中的每条语句都需要缩进        T
  5. Python字典和集合都是无序的容器。        T
  6. 在Python异常处理中,只能有一个try,但可以有多个except。        T
  7. 文件打开的默认方式是只读。        T

二、选择题

  1. 以下Python变量名称中哪一个是不合法的?(123abc ) Python变量命名应注意:只能是字母、数字、下划线的组合,并且之间不能包含空格,数字不能放在变量名首位;区分大小写字母;不可以使用保留字。
  2. 关于 Python 中的复数,下列说法错误的是  C      A.表示复数的语法是 real + image j        B.实部和虚部都是浮点数        C.虚部必须后缀 j,且必须是小写        D.方法 conjugate 返回复数的共轭复数
  3. 以下表达式不正确的是:(B)A."hello" * 2  B."hello" + 2  C."hello" + '2'  D."hello" > "2"
  4. 关于Python的分支结构,以下选项中描述错误的是( A )。        A.分支结构可以向已经执行过的语句部分跳转        B.Python中if-elif-else语句描述多分支结构        C.Python中if-else语句用来形成二分支结构        D.分支结构使用if保留字
  5. 下列语句中,用来结束整个循环的是( break
  6. 关于组合数据类型的描述,正确的选项是:A         A.Python中最常用的映射类型的典型代表是字典类型        B.列表类型里的元素要求是同一种数据类型        C.元组采用大括号{ }方式表示        D.序列类型的元素可以用reverse()方法交换相邻元素的位置        (reverse()方法的功能不是交换相邻元素的位置,而是将序列类型的元素的顺序完全翻转;元组采用圆括号方式表示,大括号表示字典类型;列表类型里的元素不要求是同一种数据类型)
  7. 当try语句中没有任何错误信息时,一定不会执行( except )语句。
  8. 以下关于函数定义的描述错误的是:A         A.函数必须有返回值        B.函数使用return给出返回值           C.函数定义中可以指定无限多个参数         D.函数定义中可以为某些参数指定默认值
  9. 调用以下函数返回的值 None               def myfun():pass​​​​​​​​​​​​​​
  10. 关于 python 读取文件,下列描述错误的是:B                A.关键字 with 会在程序不再需要访问文件或出现异常的情况下,关闭文件 。        B.Python 对数据量没有大小限制,需要读取的文件多大都可以。        C.函数 open()中如果输入参数只有文件名,那么 Python 会在当前执行的 .py 文件的所在目录中查找文件 。        D.读取文本文件时,Python 会将文件中的所有文本都解释为字符串 

二、函数题fn

6-1 判断回文函数

请编写一个函数,判断输入字符串是否是回文。如果是,返回True,否则返回False。回文指的是,若某字符串正着读和倒着读都一样,则称该字符串为回文。比如madam、noon等。

  • 函数接口定义:def isPalindrome(str):         其中str为任意字符串。
  • 裁判测试程序样例:
# 请在这里填写答案

def main():
    global input
    input = input()
    if isPalindrome(input):
        print("yes")
    else:
        print("no")

if __name__ == '__main__':
    main()
  • 输入样例:refer        laugh
  • 输出样例:yes          no
def isPalindrome(str):
    text = []
    str2=str.lower()
    for i in str2:
        if i.isalnum():
            text.append(i)
    for j in range(len(text)):
        if text[j] != text[len(text) - j-1]:
            return False
            break
    return True
def isPalindrome(str):
    left = 0
    right = len(str) - 1
    while left <= right:
        if str[left] == str[right]:
            left += 1
            right -= 1
        else:
            break
    if left > right:
        return True
    else:
        return False

6-2 计算一元二次方程的根

已知一元二次方程ax2+bc+c=0的三个系数,求解方程的实根。设计 equation(a,b,c)函数,三个参数分别为二次项系数a,一次项系数b和常数项系数c。计算Δ=b2−4ac。若Δ≥0,则有实根,返回两个实根,要求保留2位小数,英文逗号分隔;若Δ<0,则没有实根,返回“没有实根”。
计算方程两个根的公式为:x=2a−b±b2−4ac​​

  • 函数接口定义:def equation(a,b,c):
  • 裁判测试程序样例:
# 请在这里写答案

a,b,c=map(float,input().split())
print(equation(a, b, c))

输入样例1:1 -2 1
输出样例1:1.00,1.00
输入样例2:2 11 -6
输出样例2:0.50,-6.00
输入样例3:2 2 1
输出样例3:没有实根

import math
def equation(a,b,c):
    num=b*b-4*a*c
    if num>=0:
        x1=(-b+math.sqrt(num))/2/a
        x2=(-b-math.sqrt(num))/2/a
        return "{:.2f},{:.2f}".format(x1,x2)
    else:
        return "没有实根"

三、编程

7-1 计算球体积

  • 输入半径,计算球的体积。球体积公式是34​πr3
  • 输入格式:输入半径,可以是小数。
  • 输出格式:输出球的体积,结果保留3位小数,π使用math库的常量。
  • 输入样例:在这里给出一组输入。例如:2
  • 输出样例:在这里给出相应的输出。例如:v=33.510
  • 输入样例:在这里给出一组输入。例如:3.33
  • 输出样例:在这里给出相应的输出。例如:v=154.675
import math
r = float(input())
v = 4/3*r**3*math.pi
print("v={:.3f}".format(v))

7-2 计算每月电费费用

计算电费。通常一度电的电费是0.53元,但超过50度后每度电的电费将增加费用。
输入用电量和超过50度后的每度电费用。
计算电费总价。结果保留2位小数。

输入格式:在一行内输入用电度数和超过50度的每度用电电费,两个数之间用空格隔开输出格式:输出电费总价。结果保留2位小数

输入样例1:40 0.8
输出样例1:cost = 21.20
输入样例2:150 0.8
输出样例2:cost = 106.50

x, a = map(float,input().split())
if x >= 50:
    cost = 50 * 0.53 + (x - 50) * a
else:
    cost = x * 0.53
print("cost = %.2f" % cost)

7-3 按顺序输出小于指定值的所有斐波纳契数 

斐波那契数列的输出:按顺序输出所有小于指定值的斐波那契数。

输入格式:输入一个整数n(1<n≤10000)。

输出格式:输出斐波那契数列,要求只输出小于n的部分。每个数占5列,每行6个数。

输入样例1:100
输出样例1:

    1    1    2    3    5    8
   13   21   34   55   89
n = int(input())
count = 0
t,f = 1,1
while(t < n):
    print("%5d"%(t),end="")
    count =count+1
    if count % 6 == 0:
        print()
    t,f = f,t+f

7-4 句子首字母变大写

输入一行句子将每个句子的首字母变为大写。每个单词之间都有空格,每个句子以?或.或!结尾。

  • 输入格式:输入一段字符串        输出格式:将句子的首字母变大写输出字符串
  • 输入样例:you are a sight sore eyes! you look well.
  • 输出样例:You are a sight sore eyes! You look well. 
s=input()
s=s.lower()
save=[]
print(chr(ord(s[0])-32),end='')
for i in range(1,len(s)):
    if s[i] in'?.!':
        save.append(i+2)
    if i in save:
        print(chr(ord(s[i])-32),end='')
    else:
        print(s[i],end='')
print(" ",end='')

7-5 计算每个学生的平均成绩

输入所有学生的姓名和成绩,以#结束。输出每个学生的平均成绩表。

输入格式:每一行输入一个学生的姓名和成绩,以空格分隔。输入完成后以#结束

输出格式:每行显示一个学生的姓名和平均成绩,姓名占8位宽度,平均成绩保留两位小数点。姓名和平均成绩之间用空格隔开。

输入输出样例1:

Maria 20
David 10
Bob 15
David 20
#
姓 名     平均成绩
Maria    20.00
David    15.00
Bob      15.00

输入输出样例2: 文章来源地址https://www.toymoban.com/news/detail-455932.html

韩思	80
杨世忆	70
徐晓畅	100
黄嘉	95
刘天宇	60
叶鸿	80
韩思	85
杨世忆	65
徐晓畅	100
黄嘉	90
刘天宇	80
刘天宇	90
徐晓畅	100
徐晓畅	100
徐晓畅	100
#
姓 名     平均成绩
韩思       82.50
杨世忆      67.50
徐晓畅      100.00
黄嘉       92.50
刘天宇      76.67
叶鸿       80.00
items = dict()
while 1:
    string = input()
    if string == '#':
        break
    else:
        name = string.split()[0]
        score = float(string.split()[1])
        if items.__contains__(name):
            items[name][0] += score
            items[name][1] += 1
        else:
            items[name] = [score, 1]
print("姓 名     平均成绩")
for k in items.keys():
    items[k][0] /= items[k][1]
    print(f"{k}".ljust(8), f"{float(items[k][0]):.2f}".rjust(4))

到了这里,关于python pta实验八的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • PTA PYthon 7-5 计算绩点

    学分绩点计算办法: 1、按成绩折算课程绩点: 90分 - 100分 折合4.0 - 5.0绩点,即90分折合4.0,91分折合4.1,依次类推 80分 - 89分 折合3.0 - 3.9绩点,即80分折合3.0,81分折合3.1,依次类推 70分 - 79分 折合2.0 - 2.9绩点,即70分折合2.0,71分折合2.1,依次类推 60分 - 69分 折合1.0 - 1.9绩点

    2024年02月04日
    浏览(41)
  • 【蓝桥杯】1434:回文数字—>三种判断回文的方法

    通过对蓝桥杯真题回文数字的讲解,引出关于三种回文判断的方式: 数组或字符串 、 栈 、 直接反转数字 。 目录 前言: 蓝桥杯题目:回文数字 题目分析: 一、数组或字符串判断回文: 二、利用栈的数据结构判断回文: 三、直接反转数字 观察数字:12321,123321  都有一个

    2024年02月09日
    浏览(27)
  • Python语言基础---选择判断循环结构详解

    在Python编程语言中,选择判断和循环是两个非常重要的概念。它们可以让我们根据条件执行不同的代码块,或者重复执行一段代码,这为我们解决各种问题提供了强大的功能。本文将详细介绍Python语言中的选择判断和循环结构,帮助读者更好地理解和运用这些概念。 Python提供

    2024年02月13日
    浏览(46)
  • 链表的回文判断

    思路: 找中间节点–逆置-比较 代码:

    2024年02月07日
    浏览(29)
  • 蓝桥杯回文日期判断

    思想: 对于回文数的判断方法,最快的就是取其中一半的字符串长度,为s,然后将其进行翻转为s’ ,再把两者进行拼接即可保证是回文数,这样子就解决了枚举所有回文数的问题。 注意点: 要求必须是有效日期 注意闰年的2月份问题 代码: (1)判断所给字符串是不是回

    2024年01月18日
    浏览(27)
  • C++回文数的判断

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如 121 、 12321 、 45654 等。 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 以下提供 两种方法 思路 (1)方法一: 将要判断的数拆分出来存入数组,再用for循环比较对应位置上

    2024年02月04日
    浏览(32)
  • 计算机网络-实验7:网络层-路由选择协议

    实验内容 7 :RIP、OSPF动态路由协议 实验目的 : 配置RIP、OSFP动态路由 实验任务1: RIP 路由 配置实验 实验拓扑图如下所示: (1) 添加三台 2811 型号 路由器 ,为每台路由器添加 网络接口 模块 先关闭 路由器 电源,电源开关如下图。 ( 实际操作中,为确保电路安全,只有关

    2024年02月09日
    浏览(30)
  • 《人生苦短——我学Python》条件判断->双向选择(if--else)

    今天我们来学习双向选择判断。顾名思义,双向就是两种选择选其一,即 if----else 。如果If的条件不成立,则执行 else 下的语句,否则执行 if 下面的语句。显然,它们是 互斥 的!下面就让我们来详细看看吧! if 后面的语句是当判断 条件成立 时, 需要执行 的操作。 else 后面

    2024年02月10日
    浏览(25)
  • C语言经典算法实例4:判断回文数

    判断回文数 问题的描述 如下几点所示 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。 在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 设n是一任意自然数,若将n的各位数字反

    2024年02月02日
    浏览(26)
  • leetcode 234.判断链表是否为回文

    给定一个单链表,判断它是否是回文。 输入: 1-2 输出: false 输入: 1-2-2-1 输出: true 判断链表是否为回文,可以通过翻转链表后半部分并比较两半部分是否相同来实现。具体步骤如下: 使用快慢指针找到链表的中间节点。 翻转链表的后半部分。 比较前半部分和翻转后的后半部

    2024年01月19日
    浏览(20)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包