python题目总结1

article/2025/10/15 4:41:53

实验一 Python基本操作

主要实验内容

print 、input语句、pip安装第三方库以及标准库的使用

  1. print语句

按照以下三张图片编程实现

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

2. input语句

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


import math
print("请输入三角形两个直角边的长度")
a=eval(input("a="))
b=eval(input("b="))
c=math.sqrt(a*a+b*b)
print(c)
  1. 编程程序,用于实现两个数的交换。
    a=eval(input("a="))
    b=eval(input("b="))
    a,b=b,a
    print("a=",a,"b=",b)

     

  2. 编程程序,根据输入的三科成绩值,计算平均值和总和
    print("请输入三科成绩:")
    a=eval(input("a="))
    b=eval(input("b="))
    c=eval(input("c="))
    sum=a+b+c
    e=sum/3
    print(sum,e)

     

  3. 编程程序,根据输入的三角形的三边长度,输出三角形的面积(海伦公式与math库)。
    print("请输入三科成绩:")
    a=eval(input("a="))
    b=eval(input("b="))
    c=eval(input("c="))
    sum=a+b+c
    e=sum/3
    print(sum,e)
    3. 综合操作

1、用户输入一个三位自然数,计算并输出其百位、十位和个位上的数字。

print("请输入一个三位自然数")
x=eval(input("x="))
c=x%10
b=x//10%10
a=int(x/100)
print(a,b,c)
  1. 编写程序, 输入任意大的自然数, 输出各位数字之和。
    print("请输入一个任意大的自然数")
    x=eval(input("x="))
    sum=0
    while x>0:a=x%10sum+=ax=int(x/10)
    print(sum)

     

p3、 编写程序, 输入两个集合 setA 和 setB, 分别输出它们的交集、 并集和差集 setA-setB。

s

etA={1,2,4,5}
setB= {2,4,8,10}
a=setA | setB
b=setA & setB
c=setA - setB
print("并集:",a,"交集",b,"差集",c)


4、 编写程序, 输入一个自然数, 输出它的二进制、 八进制、 十六进制表示形式。提示:ppt中关于数值类型中相应的公式

a=int(input("请输入一个自然数:"))
print("它的二进制数为",bin(a))
print("它的八进制数为",oct(a))
print("它的十六进制数为",hex(a))

5、如下图所示,完成以下两个题目

编写程序,输入本金、年利率和年份,计算复利(保留两位小数),运行结果如下图

提示:用户可以使用“ print(str.format("本金利率和为:{0:2.2f}", amount))”的语句形式输出程序运行效果(结果保留两位小数)。

import math
bj=eval(input("请输入本金:"))
nll=eval(input("请输入年利率:"))
nf=eval(input("请输入年份:"))
fl=bj*math.pow((1+nll/100),nf)
print("{:.2f}".format(fl))

6 .编写程序,输入球的半径,计算球的表面积和体积(结果保留两位小数),运行效果参考上图

提示:

(1)球的表面积的计算公式为4**r2,球的体积的计算公式为4/3**r3

(2)用户可以使用“ print(str.format("球的表面积为:{0:2.2f},体积为:{1:2.2f}",area, volume))”的语句形式输出程序运行效果。

import math
r=int(input("请输入球的半径:"))
s=math.pi*r*r
v=3/4*math.pi*math.pow(r,3)
print("s={:.2f}".format(s))
print("v={:.2f}".format(v))

8.编写程序,求解一元二次方程x2-10x+16=0,运行效果参见下图。

import math
a=1
b=-10
c=16
d=b*b-4*a*c
if d>0:x1=((-b)+math.sqrt(d))/2*ax2=((-b)- math.sqrt(d))/2*aprint(x1,x2)
elif d==0:x=(-b)/2*aprint(x)
else:real=(-b)/2*aimag=(math.sqrt(d))/2*ax1=complex(real,imag)x2=complex(real,-imag)print(x1,x2)

9.编写程序,提示输入姓名和出生年份,输出姓名和年龄,运行效果参见

提示:

(1)用户可以使用 datetime.date. today().year返回当年的年份值。

(2)用户可以使用“ print("您好!{0}。您{1}岁。". format( SName,age)”的语句形式输出程序运行效果.

import datetime
name=input("请输入姓名:")
time=eval(input("请输入出生年份:"))
now=datetime.date.today().year
age=int(now-time)
print("你好!{0}.您{1}岁。".format(name,age))

10. 输入直角三角形的两个直角边,求三角形的周长和面积,以及两个锐角的角度。结果均保留一位小数。效果如下图。

提示:

(1)math.asin()函数返回正弦值为指定数字的弧度;math.acos()函数返回余弦值为指定数字的弧度。

(2)将弧度转换为角度的公式为角度=弧度*180/pi

(3)可以使用“ round(asin(sinA)*180/pi,0)”的语句形式求锐角A的度数

(4)可以使用“print(str. format("三角形的周长={0:1.1f},面积={1:1.1f}",p,area)”的语句形式按题目要求输出三角形的周长和面积。

import math
a=eval(input("a="))
b=eval(input("b="))
c=math.sqrt(a*a+b*b)
C=a+b+c
p=C/2
S=math.sqrt(p*(p-a)*(p-b)*(p-c))
print("{:.1f}".format(C))
print("{:.1f}".format(S))
sinA=a/c
A1=math.asin(sinA)
A=A1*180/math.pi
sinB=b/c
B1=math.asin(sinB)
B=B1*180/math.pi
print("三角形两个锐角的度数分别为:",A,"和",B)

import math实验 程序流程控制最大公约数

  1. 编写程序计算1+3+5+7…+99之和。
sum=0
for i in range(1,100,2):sum+=i
print(sum)

2.编写程序,计算2+4+6+8…+100之和.

sum=0
for i in range(2,101,2):sum+=i
print(sum)

3.编写程序,使用不同的实现方法输出2000~3000的所有闰年,运行效果如下图所示。提示:闰年包括普通闰年和世纪闰年,修改print函数中的‘end’选项。

num=0
for i in range(2000,3001):if (i%4==0 and i%100!=0) or i%400==0:num+=1if num%8==0:print(i,end='\n')else:print(i,end='\t')else:i=i+1


4. 编写程序,计算Sn=1-3+5-7+9-11+…
提示:可以使用%2==0的语句形式判断i是否为偶数。
 

x=1
sum=0
a=int(input("请输入任意正整数:"))
for i in range(1,a,2):sum=sum+i*xx=-x
print(sum)

5.编写程序,计算Sn=1+1/2+1/3+…。
 

sum=0
a=int(input("请输入任意正整数:"))
for i in range(1,a+1):x=1/isum=sum+x
print(sum)

6. (只要实现四种方式中的一种即可)编写程序,打印九九乘法表。要求输出九九乘法表的各种显示效果(上三角、下三角、矩形块等方式)

for i in range(1,10):for j in range(1,11-i):print("{0}*{1}={2}".format((10-i),j,(10-i)*j),end='\t')print(end='\n')for i in range(1,10):for j in range(1,i+1):print("{0}*{1}={2}".format(i,j,i*j),end='\t')print(end='\n')


7. 编写程序输入三角形的3条边,先判断是否可以构成三角形,如果可以,则进一步求三角形的周长和面积,否则报错“无法构成三角形!”。其运行效果如图下图所示(结果均保留位小数)。
提示: (1)3个数可以构成三角形必须满足如下条件:每条边的边长均大于0,并且任意两边之和大于第三边。
(2)已知三角形的3条边,则三角形的面积=,其中h为三角形周长的一半。
(3)其中根号需要导入math库并调用sqrt函数
 

import math
print("输入三角形的3条边:")
a=eval(input("a="))
b=eval(input("b="))
c=eval(input("c="))
C = a + b + c
p = C / 2
S = math.sqrt(p * (p - a) * (p - b) * (p - c))
if a+b>c and a+c>b and b+c>a and a>0 and b>0 and c>0:print("{:.3f}".format(C))print("{:.3f}".format(S))
else:print("无法构成三角形!")

8. 编写程序,输入x,根据如下公式计算分段函数y的值。请分别利用单分支语句双分支结构以及条件运算语句等方法实现。

提示:需要调用math模块,其中math.sqrt()是根号;math.exp()是指数e;math.log()是ln;math.sin()是sin;
 

import math
x=int(input("请输入x:"))
if x>=0:y=(x*x-3*x)/(x+1)+2*math.pi+math.sin(x)
else:y=math.log(math.e,(-5*x))+6*math.sqrt((-x)+math.pow(math.e,4))-pow((x+1),3)
print(y)

10. 编写程序,输入整数n(n≥0),分别利用for循环和 while循环求n!。
提示:
(1) n!=n×(n-1)×(n-2)×…×2×1。例如5!=5×4×3×2×1=120,特别地,0!=1
(2) 一般情况下,累乘的初值为1,累加的初值为0。
(3) 如果输入的是负整数,则继续提示输入非负整数,直到n≥0。
 

def factorial(n):if n==1:return 1else:return n*factorial(n-1)
n=int(input("n="))
print(factorial(n))

11.编写程序,产生两个0~100(包含0和100)的随机整数a和b,求这两个整数的最大公约数和最小公倍数。

import random
a=random.randint(0,100)
b=random.randint(0,100)
print(a,b)
if a<b:a,b=b,a
n1=a
n2=b
while(n2!=0):t=n1%n2n1=n2n2=t
print("最大公约数:",n1)
print("最小公倍数:",a*b/n1)


实验三  字符串与正则表达式
3.1 字符串相关操作
1.统计所输入字符串中单词的个数,单词之间用空格分隔。其运行效果如下图所示。

 

s=input("请输入英语句子:")
num=1
for i in s:if i==" ":num=num+1
print("单词数量:",num)


2.编写程序,给出一个字符串,将其中的字符“E”用空格替换后输出。

s= input('请输入字符串:')
s = s.replace('E', ' ')
print('替换后的字符串为:', s)


3.从键盘交互式输人一个人的18位的身份证号,以类似于“2001年09月12日”的形式输出该人的出生日期。

s= input('请输入身份证号码:')
print('出生年月:', s[6:10], '年', s[10:12], '月', s[12:14], '日')


4.将字符串'abcdefg'使用函数的方式进行倒序输出

str1 = 'abcdefg'
print(str1[::-1])


5.在我们的生活中,节假日的问候是必不可少的,请使用字符串格式化的方式写一个新年问候语模板.

a=input("请输入名字:")
print("新年好{}!".format(a))


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

s=input("请输入字符串:")
B=s[1::2]
A=s[0::2]
print("A=",A)
print("B=",B)
print(A+B)


7.请根据下列需求,编写一个程序。用户输入一个字符串,请将字符串中的所有字母全部向后移动一位,最后一个字母放到字符开头,最后将新的字符串输出。

s=input("请输入字符串:")
a=len(s)
y=s[-1]+s[:a-1]
print(y)


8. 基于input函数,对输入的字符串进行处理,并将返回替换了某些字符的字符串,规则如下
如果一个字母是大写辅音,请将该字符替换为“Iron”。
如果字母是小写辅音或非字母字符,则对该字符不执行任何操作
如果一个字母是大写元音,请将该字符替换为“Iron Yard”。
如果一个字母是小写元音,请用“Yard”替换该字符。
 

import re
text=input("请输入字符串:")
for i in text:if i=='A' or i=='O' or i=='E' or i=='I' or i=='U':a=re.sub('[AOEIU]','Iron Yard',text)if i == 'a' or i == 'o' or i == 'e' or i == 'i' or i == 'u':a=re.sub('[aoeiu]','Yard',text)if i > 'A' and i < 'Z':a=re.sub('[A-Z-[AOEIU]]','Iron',text)
print("替换后的字符为:",a)

3.2 正则表达式相关操作

1. 写出能够匹配163邮箱(@163.com)的正则表达式。

 

import re
s=input("请输入邮箱:")
if re.match(r'.*?@163.com',s):print('True')
else:print('Flase')

2. 利用re库中的search、findall或search函数从以下三个字符串中提取出所有的汉字,输出的结果分别为“大连理工大学” , “重庆大学”以及“中南财经大学” 。(提示:字符串st2,str3中有空格)。

  • str1="""<td width="160">大连理工大学</td>"""
  • str2="""<td width="160"><a href="../news/list_117.html" class="keyWord" target="_blank">重庆</a>大学</td>"""
  • str3="""<td width="160">中南<a href="../news/list_197.html" class="keyWord" target="_blank">财经</a><a href="../news/list_201.html" class="keyWord" target="_blank">政法</a>大学</td>"""
import re
str1="""<td width="160">大连理工大学</td>"""
str2="""<td width="160"><a href="../news/list_117.html" class="keyWord" target="_blank">重庆</a>大学</td>"""
str3="""<td width="160">中南<a href="../news/list_197.html" class="keyWord" target="_blank">财经</a><a href="../news/list_201.html" class="keyWord" target="_blank">政法</a>大学</td>"""
re1=re.search("""<td width="160">(.*?)</td>""",str1).group(1)
print(re1)
re2=re.search("""<td width="160"><a href="../news/list_117.html" class="keyWord" target="_blank">(.*?)</a>(.*?)</td>""",str2).group(1,2)
print(re2)
re3=re.search("""<td width="160">(.*?)<a href="../news/list_197.html" class="keyWord" target="_blank">(.*?)</a><a href="../news/list_201.html" class="keyWord" target="_blank">(.*?)</a>(.*?)</td>""",str3).group(1,2,3,4)
print(re3)

 


http://chatgpt.dhexx.cn/article/lxb8JdTX.shtml

相关文章

Python题目小练

一、填空题 1、Python 使用&#xff08; # &#xff09;符号标示注释&#xff1b;以&#xff08; 缩进格式 &#xff09;划分语句块。 2、Python 序列类型包括&#xff08; 列表 &#xff09;、&#xff08; 元组 &#xff09;、&#xff08; 字典 &#xff09; 三种&#xf…

python基础题目大全,测试你的水平,巩固知识(含答案)

1、为什么学习Python&#xff1f; 人生苦短&#xff1f;人间不值得&#xff1f;想想自己的初心吧&#xff01; 2、通过什么途径学习的Python&#xff1f; 官网、网上视频、学习网站、论坛、大牛的辅导 3、Python和Java、PHP、C、C#、C等其他语言的对比&#xff1f; &#xff08…

python编程题

7-1 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (10 分) 现需要统计若干段文字(英文)中的不同单词数量。如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词。 注1:单词之间以空格(1个或多个空格)为间隔。注2…

50 道 Python 基础练习题(附答案详解)

作者&#xff1a;Amo Xiang https://blog.csdn.net/xw1680/article/details/103546693 1.两个变量的交换 # -*- coding: utf-8 -*- # Time : 2019/12/14 23:30 # Author : 我就是任性-Amo # FileName: 1.两个变量的交换.py # Software: PyCharm # Blog &#xff1a;http…

Python题目辅导-题目及其题目

你好&#xff0c;我是悦创。如果有兴趣学 Python&#xff0c;来这里一对一学习 Python&#xff0c;欢迎学习。可以直接私信我或者关注公众号&#xff1a;AI悦创&#xff0c;加我好友即可。 题目范围 作业 7: 6-2 编写函数计算一个或不特定多个数的乘积&#xff08;高教社&…

经典python题目练习

1、给定一个非空正整数的数组&#xff0c;按照数组内数字重复出现次数&#xff0c;从高到低排序 #!/usr/bin/python list [1,1,1,6,6,7,3,9] a {} for i in list: if list.count(i)>0: a[i] list.count(i) #a[i]是字典value的值 print a # items()方法将字典的元…

python 练习题目

练习题目 一、语言元素 练习1&#xff1a;华氏温度转摄氏温度。 摄氏温度©与华氏温度(F)的换算式是&#xff1a;C 5(F- 32)/9&#xff0c;F 9C /532。 # 华氏温度转摄氏温度 # 输入华氏温度&#xff0c;通过转化公式&#xff0c;输出摄氏温度F float(input("请…

Linux磁盘挂载详细步骤

步骤一&#xff1a;为数据盘创建MBR分区 1、查看实例上的数据盘信息 fdisk -l2、创建分区&#xff0c;根据提示创建 fdisk -u /dev/vdb3、查看新分区信息 fdisk -lu /dev/vdb步骤二&#xff1a;为分区创建文件系统 创建一个xfs文件系统 mkfs -t xfs /dev/vdb1步骤三&#x…

linux查看系统未被挂载的磁盘空间的方法

解决AWS 挂载、解决挂载完重启就消失等问题 linux上的盘和window的有区别&#xff0c;磁盘空间必须挂载在目录上&#xff0c;要不然没用 对与新增的硬盘、SSD固态硬盘、挂载到linux上的操作如下&#xff1a; df -h     #显示目前在Linux系统上的文件系统的磁盘使用情况统…

Linux系统如何挂载硬盘

查看所有设备挂载情况 基本语法&#xff1a;lsblk 或者lsblk -f 硬盘说明 2.1Linux硬盘分IDE硬盘和SCS硬盘&#xff0c;目前基本上是SCSI硬盘 2.2对于IDE硬盘&#xff0c;驱动器标识符为"hdx~"&#xff0c;其中"hd"表明分区所在设备的类型&#xff0c;这里…

linux服务器挂载磁盘的两种方式

一、挂载方法简单&#xff0c;但只能挂载一个&#xff0c;挂载两个以上磁盘重启后会出现混淆情况。 lsblk Fdisk -l /*因为IBM是默认的安装目录&#xff0c;所以将/vdb目录下的磁盘挂载到/IBM目录下*/ /*格式化将被挂载的磁盘&#xff0c;根目录下的dev目录存放着所有的设备文…

Linunx系统挂载新磁盘的四种方式

目前常用的磁盘挂载方式主要有两种&#xff0c;一种是传统的标准分区方式&#xff0c;另一种是采用可以动态调整容量的LVM逻辑卷的方式挂载磁盘&#xff1b; 两种分区方式对比 ​ 传统标准分区方式&#xff1a;数据写在磁盘的分区中&#xff0c;系统故障后可以直接挂载到其他运…

linux挂载硬盘步骤(简单易用,直接上手,无废话)

1.查看硬盘挂载情况 fdisk -l 2.查看当前分区情况 df -l 发现新硬盘没有分区 3.给新硬盘添加新分区 fdisk /dev/vdb 按照下面步骤依次输入指令 4.分区完成&#xff0c;查询所有设备的文件系统类型 blkid 发现新分区并没有文件系统类型&#xff08;type为文件系统具体类型…

Linux重新挂载磁盘,如何把磁盘挂载到已有目录上面

本文为joshua317原创文章,转载请注明&#xff1a;转载自joshua317博客 Linux重新挂载磁盘&#xff0c;如何把磁盘挂载到已有目录上面 - joshua317的博客 Linux重新挂载磁盘&#xff0c;如何把磁盘挂载到已有目录上面 一、问题背景 由于随着数据的增多&#xff0c;原有的磁盘…

linux系统挂载磁盘

一、如何确认当前系统还有磁盘未挂载。 su root 输入密码后&#xff0c;切换到root账号 1、输入 fdisk -l 查看是否有磁盘未挂载&#xff0c;如下图所示 如上图所示&#xff0c;若没有显示后半部分时&#xff0c;可以确定未挂载磁盘为 /dev/vdb 。 2、输入 df -h …

Linux服务器磁盘挂载

具体操作是&#xff1a;先对磁盘进行格式化&#xff0c;格式化后挂载到需要的挂载点&#xff0c;最后添加分区启动表&#xff0c;以便下次系统启动随机自动挂载。 1、首先查看系统中磁盘信息&#xff0c;命令为&#xff1a;fdisk -l; 2、找到未使用的磁盘&#xff0c;对其进行…

linux如何挂载硬盘linux服务器上挂载磁盘(图文详解)

博主最近在研究服务器运维&#xff0c;由于Linux服务器相对比较困难&#xff0c;所以博主对她情有独钟。而window服务器几乎跟我们平常使用的电脑一样&#xff0c;相对简单感觉索然无味。下面正式进入主题教大家linux如何挂载硬盘。 首先解答一个新手朋友都会问的问题&#xf…

linux上挂载磁盘(包括新增磁盘)

linux上挂载磁盘&#xff08;包括新增磁盘&#xff09; 正式开始挂载磁盘&#xff08;/dev/sdb&#xff09;1&#xff1a;创建分区 fdisk /dev/sdb2&#xff1a;格式化 mkfs.ext4 /dev/sdb13&#xff1a;新建挂载点 mkdir /usermount 、mount /dev/sdb1 /usermount4&#xff1a…

《Oracle编程自学与面试指南》17-01:标量子查询(Scalar subquery)

内容导航 单列子查询,又叫标量子查询。标量(Scalar subquery)是只返回一个值的查询:一行一列。 案例代码: /* 作者:AT阿宝哥 日期:2016年9月18日 愿景:参考官方资料,做最好的课程,成就更多职业人! 邮箱:12264104@qq.com CSDN:https://blog.csdn.net/goldentec 简书…

《Oracle编程自学与面试指南》14:表达式(Expressions)

内容导航 1、定义2、使用场景3、表达式的分类1、定义 表达式(Expressions)是一个或多个值、运算符和SQL函数的组合,计算结果为一个值,表达式的数据类型通常取决于其组件。 比如,这个简单的表达式2 * 2计算结果为4,并具有数据类型NUMBER(与其组件相同的数据类型): SEL…