目录
一、判断题
二、选择题
二、函数题fn
6-1 判断回文函数
6-2 计算一元二次方程的根
三、编程
7-1 计算球体积
7-2 计算每月电费费用
7-3 按顺序输出小于指定值的所有斐波纳契数
7-4 句子首字母变大写
7-5 计算每个学生的平均成绩
一、判断题
- 在Python中使用浮点数除法运算符/时,结果总是浮点数,而使用整数除法运算符//时,如果一个或者两个操作数为浮点数,则结果为浮点数,但小数部分被舍弃。 T
- 在Python中,print函数输出不会自动换行,因此,如下两条语句:print('Hello ')print('World!')输出结果为:
Hello World! F
- 无论while循环表达式判断结果是真是假,循环体至少执行一次。 F
- python中,循环体中的每条语句都需要缩进 T
- Python字典和集合都是无序的容器。 T
- 在Python异常处理中,只能有一个try,但可以有多个except。 T
- 文件打开的默认方式是只读。 T
二、选择题
- 以下Python变量名称中哪一个是不合法的?(123abc ) Python变量命名应注意:只能是字母、数字、下划线的组合,并且之间不能包含空格,数字不能放在变量名首位;区分大小写字母;不可以使用保留字。
- 关于 Python 中的复数,下列说法错误的是 C A.表示复数的语法是 real + image j B.实部和虚部都是浮点数 C.虚部必须后缀 j,且必须是小写 D.方法 conjugate 返回复数的共轭复数
- 以下表达式不正确的是:(B)A."hello" * 2 B."hello" + 2 C."hello" + '2' D."hello" > "2"
- 关于Python的分支结构,以下选项中描述错误的是( A )。 A.分支结构可以向已经执行过的语句部分跳转 B.Python中if-elif-else语句描述多分支结构 C.Python中if-else语句用来形成二分支结构 D.分支结构使用if保留字
- 下列语句中,用来结束整个循环的是( break )
- 关于组合数据类型的描述,正确的选项是:A A.Python中最常用的映射类型的典型代表是字典类型 B.列表类型里的元素要求是同一种数据类型 C.元组采用大括号{ }方式表示 D.序列类型的元素可以用reverse()方法交换相邻元素的位置 (reverse()方法的功能不是交换相邻元素的位置,而是将序列类型的元素的顺序完全翻转;元组采用圆括号方式表示,大括号表示字典类型;列表类型里的元素不要求是同一种数据类型)
- 当try语句中没有任何错误信息时,一定不会执行( except )语句。
- 以下关于函数定义的描述错误的是:A A.函数必须有返回值 B.函数使用return给出返回值 C.函数定义中可以指定无限多个参数 D.函数定义中可以为某些参数指定默认值
- 调用以下函数返回的值 None def myfun():pass
- 关于 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:文章来源:https://www.toymoban.com/news/detail-455932.html
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模板网!