参考链接: Python程序添加两个矩阵

前言

本文只是简单的整理了一下课后习题的编程题,具体的填空、选择、判断可以见:Python快速编程入门课后习题答案

第一章

1、编写一个Python程序,输出如下图效果。

++++++++++ +        + ++++++++++

print("+++++++++++")

print("+         +")

print("+++++++++++")

2、编写一个Python程序,输出如下语句。

学Python,来传智播客黑马程序员 学Python,来传智播客黑马程序员 学Python,来传智播客黑马程序员 学Python,来传智播客黑马程序员 学Python,来传智播客黑马程序员

print("学Python,来传智播客黑马程序员")

print("学Python,来传智播客黑马程序员")

print("学Python,来传智播客黑马程序员")

print("学Python,来传智播客黑马程序员")

print("学Python,来传智播客黑马程序员")

第二章

1、输入直角三角形的两个直角边的长度a、b,求斜边c的长度。

import math

a=float(input("请输入斜边 1 的长度")) #输入实数

b=float(input("请输入斜边 2 的长度")) #输入实数

c=a*a+b*b #计算,得到的是斜边的平方

c=math.sqrt(c) #开方,得到的是斜边长

print("斜边长为:",c) #显示,一项是字符串,一项是 c 表示的斜边长

2、编写一个程序,用于实现两个数的交换。

# 用户输入

x = input('输入 x 值: ')

y = input('输入 y 值: ')

# 不使用临时变量

x,y = y,x

print('交换后 x 的值为: {}'.format(x))

print('交换后 y 的值为: {}'.format(y))

第三章

1、编写一个程序,使用for循环输出0~10之间的整数。

for i in range(1,11):

print(i)

2、编写一个程序,判断用户输入的数是正数还是负数。

a=int(input("请输入一个数:"))

if a>0:

print("a是一个正数")

elif a<0:

print("a是一个负数")

else:

print("a等于0")

3、编写一个程序,输出九九乘法表。

i=1

while i<10:

j=1

while j<=i:

print("%d*%d=%-2d "%(i,j,i*j),end='')

j+=1

print("\n")

i+=1

第四章

1、接收输入的一行字符,统计出字符串中包含数字的个数。

myStr = input("请输入任意字符串:")

num = 0

for s in myStr:

if s.isdigit():

num += 1

print(num)

2、请输入星期几的第1个字母,用来判断是星期几,如果第1个字母一样,则继续判断第2个字母,以此类推。

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

while True:

myStr = input("请输入任意一个字母:")

upMyStr = myStr.upper()

for weekS in week:

if upMyStr == weekS[0]:

if weekS.startswith("M"):

print("星期一")

elif weekS.startswith("W"):

print("星期三")

elif weekS.startswith("F"):

print("星期五")

elif weekS.startswith("T") or weekS.startswith("S"):

secondStr = input("请再输入任意一个字母:")

newStr = upMyStr+secondStr

print(newStr)

for weekStr in week:

if weekStr.find(newStr,0,2) != -1:

if newStr == "Tu":

print("星期二")

elif newStr == "Th":

print("星期四")

elif newStr == "Sa":

print("星期六")

elif newStr == "Su":

print("星期日")

break

break

3、编写一个程序,计算字符串中子串出现的次数。

str = "Hello,welcome to itheima!!"

print(str.count("o"))

第五章

1、编写一个函数,用于判断用户输入字符串是否由小写字母和数字构成。

def message():

myStr = input("请输入密码,只能为小写字母和数字:")

if myStr.isalnum() and myStr.lower() == myStr:

print("符合要求")

else:

print("不符合要求")

2、请根据下述需求,编写一个程序。

用户输入一个字符串,将下标为偶数的字符提出来合并为一个新的字符串A,再将下标为奇数的字符提出来合并成为一个新的字符串B,再将字符串A和B连接起来并且输出。

arr = []

evenStr = ""

oddStr = ""

message = input("请输入任意字符串:")

for string in message:

arr.append(string)

for eStr in (arr[::2]):

evenStr = evenStr+eStr

for oStr in (arr[1::2]):

oddStr = oddStr+oStr

print(evenStr+oddStr)

3、请编写一个程序,用于统计字符串中每个字母出现的次数(字母忽略大小写,a和A看做是一个字母),统计出的结果,请按照[‘a’:3,’b’:2]的格式输出。

arr = []

def count():

myStr = input("请输入只包含字母的字符串:")

if myStr.isalpha():

newStr = myStr.lower()

for string in newStr:

arr.append(string)

a = {}

for i in arr:

if arr.count(i) >= 1:

a[i] = arr.count(i)

print(a)

else:

print("输入的内容有误")

count()

4、请根据下列需求,编写一个程序。

用户输入一个字符串,请将字符串中所有字母全部后移动一位,最后一个字母放到字符串的开头,最后将新的字符串输出。

arr = []

result = ""

myStr = input("请输入字符串:")

for string in myStr:

arr.append(string)

last = arr[-1]

arr.remove(last)

arr.insert(0,last)

for new in arr:

result = result + new

print(result)

5、假设有个列表存储奇数个数字,请编写程序,输出中间位置的数字。

arr = []

n = int(input("请输入列表元素的个数(奇数):"))

for i in range(n):

num = int(input("请输入第%d个数:"%(i+1)))

arr.append(num)

arr.sort()

print("该列表中间位置的数字为:",arr[n//2])

6、已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1]。

#第一种:

arr = [1,2,3,4,5]

arr.reverse()

print(arr)

#第二种:

arr = [1,2,3,4,5]

arr.sort(reverse=True)

print(arr)

7、请编写一个函数满足下列需求:

用户输入n,然后输入n个整数到列表中,列表中的n个整数需要使用冒泡进行排序,并将排序后的结果输出。

arr = []

length = int(input("请输入数字的总个数:"))

i = 0

while i < length:

num =  int(input("输入第%d个数字:"%(i+1)))

arr.append(num)

i+=1

print("排序前:%s"%arr)

# 对列表排序

for i in range(length):

flag = 0

for j in range(1,length):

if arr[j-1] > arr[j]:

arr[j-1],arr[j] = arr[j],arr[j-1]

flag = 1

if not flag:

break

print("排序后:%s"%arr)

8、请编写一个程序,实现删除列表中重复元素的功能。

arr = []

length = int(input("请输入列表的总个数:"))

i = 0

while i < length:

element =  input("输入第%d个元素:"%(i+1))

arr.append(element)

i+=1

# 列表转为集合

newList = set(arr)

print(newList)

9、假设有两个3×3的矩阵,请编写一个程序,计算这两个矩阵的和并输出。

def add(a, b):

# 下面两行保证输入的a和b是维数相同的矩阵,根据实际情况不要也可以

assert (len(a) == len(b))

assert (all([len(a[i]) == len(b[i]) == len(a[0]) for i in range(len(a))]))

i, j = len(a), len(a[0])

c = [[0] * j] * i

for m in range(i):

for n in range(j):

c[m][n] = a[m][n] + b[m][n]

return c

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

b = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]

c = add(a, b)

print(c)

10、请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大输出学生的信息。

dic = {}

i=0

while i<3:

number = input("输入学生学号:")

name = input("输入学生姓名:")

dic.__setitem__(number,name)

i+=1

print("排序前:%s"%dic)

def dict2list(dic:dict):

''' 将字典转化为列表 '''

keys = dic.keys()

vals = dic.values()

lst = [(key, val) for key, val in zip(keys, vals)]

return lst

new = sorted(dict2list(dic), key=lambda x:x[0], reverse=False)

print("排序后:%s"%new)

11、已知一个字典包含若干员工信息(姓名和性别),请编写一个函数,删除性别为男的员工信息。

def delMale(dict):

keys = []

values = []

for (key,value) in dict.items():

keys.append(key)

values.append(value)

for value in values:

if value == 0:

index = values.index(value)

arrKey = keys[index]

del dict[arrKey]

values[index] = 3

keys[index] = "占位"

dic = {"小明":0, "小红":1,"小兰":1,"小白":0}

print("删除前:%s"%dic)

delMale(dic)

print("删除后:%s"%dic)

12、已知一个列表存储了多个整数,请编写函数,删除列表中的素数。

# 错误的版本

arr = [12,3,37,7,91,67,27,45,6]

def delPrime(arr):

for element in arr:

# 质数大于 1

if element > 1:

# 查看因子

for i in range(2, element):

if (element % i) == 0:

break

else:

arr.remove(element)

delPrime(arr)

print(arr)

# 正确的版本

arr1 = [12,3,37,7,91,67,27,45,6]

arr2 = [12,3,37,7,91,67,27,45,6]

def delPrime(arr1):

for element in arr2:

# 质数大于 1

if element > 1:

# 查看因子

for i in range(2, element):

if (element % i) == 0:

break

else:

arr1.remove(element)

delPrime(arr1)

print(arr1)

第六章

1、定义一个getMax()函数,返回三个数(从键盘输入的整数)中的最大值。 例如:

请输入第1个整数:10 请输入第2个整数:15 请输入第3个整数:20 其中最大值为:20

def getMax():

num1 = int(input("请输入第1个整数:"))

num2 = int(input("请输入第2个整数:"))

num3 = int(input("请输入第3个整数:"))

temp = 0 # 临时变量,存放中间产生的第2大数值

if num1 > num2:

temp = num1

else:

temp = num2

if temp>num3:

return "其中最大值为:"+ str(temp)

else:

return "其中最大值为:"+ str(num3)

maxValue = getMax()

print(maxValue)

2、编写函数,求出“1/(1×2)-1/(2×3)+1/(3×4)-1/(4×5)+···”前n项的和,函数以n为参数,它是用户输入的。

def sum(n):

res = 0

while n >= 1:

if n%2 == 0:

res -= 1.0/(n*(n+1))

else:

res += 1.0/(n*(n+1))

n-=1

return res

num = int(input("请输入一个整数:"))

print(sum(num))

3、回文数是一个正向和逆向都相同的整数,如 123454321、9889。编写函数判断一个整数是否是回文数。

def is_palindrome(n):

n = str(n)

m = n[::-1]

return n == m

result = is_palindrome(1247321)

print(result)

4、编写函数,判断输入的三个数字是否能构成三角形的三个边。

def sjx(a, b, c):

if (a + b > c and a + c > b and b + c > a):

return "能构成三角形"

else:

return "不能构成三角形"

result1 = sjx(3, 4, 5)

print(result1)

result2 = sjx(1, 1, 2)

print(result2)

5、编写函数,求两个正整数的最小公倍数。

# 定义函数

def lcm(x, y):

#  获取最大的数

if x > y:

greater = x

else:

greater = y

while(True):

if((greater % x == 0) and (greater % y == 0)):

lcm = greater

break

greater += 1

return lcm

# 获取用户输入

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))

第七章

1、已知有个列表[1,2,3,4,5],让列表的每个元素加1,把结果不能被2整除的元素筛选出来。

result = filter(lambda x:(x+1)%2, [1, 2, 3, 4, 5])

print(result)

第八章

1、读取一个文件,显示除了以#开头的行以外的所有行。

new = []

f = open('itheima.txt', 'r')#首先要有这个函数

contents = f.readlines()

for ele in contents:

if ele.startswith('#') == False:

print(ele)

f.close()

2、制作一个“密码簿”,其可以存储一个网址(如www.itcast.cn)和一个密码(如123456),请编写程序完成这个“密码簿”的增删查改功能,并且实现文件存储功能。

# 密码薄

passwordBook = {}

def add(password, value):

if password not in passwordBook.keys():

passwordBook[password] = value

save()

else:

print("该密码已存在")

def delete(password):

if password in passwordBook.keys():

del passwordBook[password]

print(passwordBook)

save()

else:

print("该密码不存在")

def modify(password, newValue):

if password in passwordBook.keys():

passwordBook[password] = newValue

print(passwordBook)

save()

else:

print("该密码不存在")

def find(value):

if value in passwordBook.values():

print("该网址存在")

else:

print("该网址不存在")

def save():

f = open("password.txt","w")

f.write(str(passwordBook))

f.close()

def printInfo():

print("密码簿的功能如下:")

print("1.添加")

print("2.删除")

print("3.修改")

print("4.查找")

i = 0

while i<5:

printInfo()

num = int(input("请输入要选择的功能:"))

if num==1:

web = input("请输入存入的网址:")

password1 = input("请输入密码:")

add(password1, web)

print(passwordBook)

elif num==2:

password2 = input("请输入密码:")

delete(password2)

elif num==3:

password3 = input("请输入密码:")

value3 = input("请输入新的网址:")

modify(password3,value3)

elif num==4:

value4 = input("请输入要查找的网址:")

find(value4)

i+=1

3、已知文本文件中存放了若干数字,请编写程序读取所有的数字,排序以后进行输出。

f = open("itheima.txt","r")#首先要有这个文件

content = list(eval(f.read()))

content.sort()

print(content)

4、打开一个英文的文本文件,将该文件中的每一个英文字母加密后写入到一个新的文件。加密的方法是:将A变成B,B变成C,······,Y变成Z,将Z变成A;a变成b,b变成c,······,y变成z,z变成a,其他字符不变化。

f = open("itheima.txt","r")

content = f.read()

newStr = ""

for string in content:

temp = ord(string)

if temp in range(65,91):

if temp == 90:

char1 = chr(temp-25)

newStr += char1

else:

char2 = chr(temp+1)

newStr += char2

elif temp in range(97,123):

if temp == 122:

char3 = chr(temp-25)

newStr += char3

else:

char4 = chr(temp + 1)

newStr += char4

else:

newStr = newStr+string

f.close()

f2 = open("itheima-加密后.txt","w")

f2.write(newStr)

f2.close()

5、打开一个英文文本文件,编写程序读取其内容,并把其中的大写字母变成小写字母,小写字母变成大写字母。

f = open(r'd:\1.txt','r')

s = f.readlines()

f.close()

r = [i.swapcase() for i in s]

f = open(r'd:\2.txt','w')

f.writelines(r)

f.close()

6、编写程序,把包含学生成绩的字典保存为二进制文件,然后再读取内容并显示。

import pickle

d = {'张三':98,'李四':90,'王五':100}

print(d)

f = open('score.dat','wb')

pickle.dump(1,f)

pickle.dump(d,f)

f.close

f = open('score.dat','rb')

pickle.load(f)

d = pickle.load(f)

f.close()

print(d)

第九章

1、假设成年人的体重和身高存在此种关系:                   身高(厘米)-100=标准体重(千克)

如果一个人的体重与其标准体重的差值在正负5%之间,显示“体重正常”,其他显示“体重超标”或者“体重不超标”。编写程序,能处理用户输入的异常,并且使用自定义异常类来处理身高小于30cm,大于250cm的异常情况。

class HeightException(Exception):

pass

try:

height = int(input("请输入您的身高:"))

if height<30 or height>250:

raise HeightException

weight = int(input("请输入您的体重:"))

weightS = height-100

if weight > weightS and weight-weightS < 0.05*weightS:

print("体重达标")

elif weight < weightS and weightS-weight < 0.05*weightS:

print("体重达标")

else:

print("体重不达标")

except HeightException:

print("您输入的身高有误")

2、录入一个学生的成绩,把该学生的成绩转换为A优秀、B良好、C合格、D不合格的形式,最后将该学生的成绩打印出来。要求使用assert断言处理分数不合理的情况。

try:

score = int(input("请输入学生的成绩:"))

if score>=90 and score<=100:

print("A:优秀")

elif score>=80 and score<90:

print("B:良好")

elif score>=60 and score<80:

print("C:合格")

else:

assert score>60,"D:不及格"

except Exception as result:

print("低于60分:\n",result)

第十章

1、建一个模块文件。在该文件中,定义一个函数,用于交换两个数的值。

def changeNum1AndNum2(num1, num2):

temp = num1

num1 = num2

num2 = temp

return (num1, num2)

第十一章

1、设计一个Circle(圆)类,包括圆心位置、半径、颜色等属性。编写构造方法和其他方法,计算周长和面积。请编写程序验证类的功能。

class Circle:

def __init__(self,tup, radius, color):

self.center = tup

self.radius = radius

self.color = color

def perimeter(self):

return 3.14 * 2 * self.radius

def area(self):

return 3.14 * self.radius * self.radius

circle = Circle((0,0),5,"蓝色")

print(circle.perimeter())

print(circle.area())

2、设计一个课程类,包括课程编号、课程名称、任课教师、上课地点等属性,把上课地点变量设为私有的,增加构造方法和显示课程信息的方法。

class Curriculum:

def __init__(self):

self.number = 1001

self.name = "语文"

self.teacher = "小明"

self.__address = "2号教学楼3层305室"

def __str__(self):

return """

课程编号:%d

课程名称:%s

任课教师:%s

上课地点:%s

"""%(self.number,self.name,self.teacher,self.__address)

curri = Curriculum()

print(curri)

第十二章

1、设计一个表示学生的类:Student,该类的属性有)name(姓名,age(年龄),scores(成绩,包含语文、数学和英语三科成绩,每科成绩的类型为整数),另外此类还有3个方法。

(1)获取学生的方法:get_name(),返回类型为str。 (2)获取年龄的方法:get_age(),返回类型为int。 (3)返回3门科目中最高的分数:get_course(),返回类型为int。

class Student(object):

# 构造方法

def __init__(self, name, age, scores):

self.__name = name     # 姓名

self.__age = age       # 年龄

self.__scores = scores # 分数

def get_name(self):

return self.__name

def get_age(self):

return self.__age

def get_course(self):

return max(self.__scores)

stu = Student('小丸子', 18, [89, 90, 91])

print("姓名:%s"%(stu.get_name()))

print("年龄:%s"%(stu.get_age()))

print("最高分:%s"%(stu.get_course()))

2、设计一个表示动物的类:Animal,其内部有一个color(颜色)属性和call(叫)的方法。再设计一个表示Fish(鱼)类,该类中有tail(尾巴)和color属性,以及一个call(叫)方法。 提示: 让Fish类继承自Animal类,重写init和call方法。

class Animal(object):

def __init__(self, color):

self.color = color #颜色

def call(self):

print("动物叫")

class Fish(Animal):

def __init__(self, color):

super().__init__(color)

self.tail = True

def call(self):

print("-%s的鱼在吐泡泡-"%self.color)

fish = Fish("蓝色")

fish.call()

[转载] Python快速编程入门课后程序题答案相关推荐

  1. Python快速编程入门课后程序题答案

    前言 本文只是简单的整理了一下课后习题的编程题,具体的填空.选择.判断可以见:Python快速编程入门课后习题答案 第一章 1.编写一个Python程序,输出如下图效果. ++++++++++ +  ...

  2. Python快速编程入门课后程序题答案(所有的章节的选择、填空、编程题答案)

    Python课后题答案 第1章Python概述 一.填空题 1.对象 2.可移植 3.字节码 4.UTF-8 二.判断题 1.对 2.对 3.对 4.对 5.错 6.错 7.对 8.错 9.对 10. ...

  3. python快速编程入门课后程序题答案-Python编程从零基础到项目实战 完整PPT+习题答案...

    Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...

  4. python快速编程入门课后程序题答案-Python 入门编程题:1~10(答案)

    Python 入门编程题:1~10(答案) 提示:最好还是先思考,先编写,再看答案哦 ^_^ 1. for i in range(1, 5): for j in range(1,5): for k i ...

  5. 黑马程序员 python快速编程入门课后答案_Python快速编程入门课后程序题答案

    前言 本文只是简单的整理了一下课后习题的编程题,具体的填空.选择.判断可以见:Python快速编程入门课后习题答案 第一章 1.编写一个Python程序,输出如下图效果. ++++++++++ +  ...

  6. python快速编程入门课后简答题答案-编程python入门 编程python入门课后习题

    编程python入门 编程python入门课后习题 米粒妈咪课堂小编整理了填空.选择.判断等一些课后习题答案,供大家参考学习. 第一章 一.填空题 Python是一种面向对象的高级语言. Python ...

  7. python快速编程入门课后简答题答案-Python编程:从入门到实践(第2版)第1章习题答案...

    <Python编程:从入门到实践>是一本不错的书.第2版已经公开预售,预计会在10月份正式上市. 动手试一试 本章的练习都是探索性的,但从第2章开始将要求你用那一章学到的知识来解决问题. ...

  8. python快速编程入门课后简答题答案-Python编程:从入门到实践(课后习题8)

    # 8-1 消息 def display_message(): print("This chapter I will learning function.") display_me ...

  9. Python快速编程入门课后习题答案

    文章目录 前言 第一章 一.填空题 二.判断题 三.选择题 四.简答题 第二章 一.填空题 二.判断题 三.选择题 四.简答题 第三章 一.填空题 二.判断题 三.选择题 四.简答题 第四章 一.单选 ...

最新文章

  1. 人工智能的学习经验总结!
  2. Oracle 入面既一d函数
  3. 直播 | AAAI 2022论文解读:三⻆分解一致性约束的端到端语音翻译
  4. SAP CX Upscale Commerce : SAP全新推出的电商云平台
  5. 推荐:iReaper - MSDN中文Webcast下载程序
  6. 腾讯校招历年经典面试汇总:C++研发岗
  7. 【LeetCode笔记】剑指 Offer 16. 数值的整数次方(Java、分治)
  8. 第一次在Django上编写静态网页
  9. kaggle实战_3模型分析与模型融合
  10. 【安全狗高危安全通告】2月“微软补丁日” 发布多个高危漏洞
  11. weka与mysql相连_Weka与MySQL连接配置
  12. 写一篇简单的 IEEE 会议论文
  13. GandCrab勒索病毒
  14. 广告/友情链接/站内信/会员地址/会员银行卡/我的收藏/评论/搜索/用户标签/用户抬头号/签到/我的足迹/我的优惠卷
  15. 与其他带货直播平台相比,视频号更适合哪些人?
  16. docker logs命令查看日志
  17. mysql中两根竖线什么意思_五线谱中两根竖线是什么意思?
  18. python将object转换为float_object怎么转换成float数据
  19. 狗狗先天遗传性格如何改变
  20. Kibana中KQL的使用

热门文章

  1. idea弹出Server‘s certificate is not trusted
  2. sed mysql配置文件_linux下mysql配置文件my.cnf最详细解释
  3. java推送微信消息换行_5行代码实现微信小程序模版消息推送 (含推送后台和小程序源码)...
  4. 服务器上的文件如何查看,如何查看远程服务器上的文件
  5. MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
  6. authorization 传 就跨域_跨域访问接口上传图片出现options请求问题解决方法
  7. 计算机c语言等级考试PDF,计算机二级C语言等级考试题.pdf
  8. Python入门--集合生成式
  9. WPF RadioButton按钮控件取消选中设置
  10. Qt 多界面来回切换的问题以及Qt界面关闭与销毁