小学期学习Python编程实训实验报告1

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

x=input('请输入一个三位数:')    #输入一个三位自然数
x=int(x)                         #将输入的字符串类型转换为整型
a=x//100                         #获取百位数字
b=x//10%10                       #获取十位数字
c=x%10                           #获取各位数字
print(a,b,c)                     #输出三个位上的数字

2.已知三角形的两边长及其夹角,求第三边长。

import math                                          #导入math模块

x = input('请输入三角形两边长及夹角(度):')              #输入三角形两边长及夹角
a, b, t = map(float, x.split())                             #将输入的字符串型数据拆分成3个整型数据
c = math.sqrt(a**2 + b**2 - 2*a*b*math.cos(t*math.pi/180)) #将角从角度制转为弧度制并计算第三边长
print('第三边长c=', c)                                  #输出第三边长

3.任意输入三个英文单词,按字典顺序输出。

s = input('x, y, z =')  #输入三个英文单词
x, y, z = s.split()     #将输入的三个英文单词拆分
if x > y:               #将x和y对应的单词排序
    x, y = y, x         
if x > z:               #将x和z对应的单词排序
    x, z = z, x
if y > z:               #将y和z对应的单词排序
    y, z = z, y
print(x, y, z)          #输出排序后的三个单词

4.计算两点间曼哈顿距离

def manhattanDistance(x, y):                       #定义计算曼哈顿距离的函数
    return sum(map(lambda i, j: abs(i-j), x, y))        #返回计算出来的曼哈顿距离
def getCoordinate():                             #定义获取点坐标的函数
    x = map(int, input('请输入点的坐标:').split(','))  #将输入的点的坐标拆分为整型
    return x                                    #返回整型点的坐标

x = getCoordinate()                              #调用函数获取点的坐标
y = getCoordinate()

print(manhattanDistance(x, y))                     #输出两点的曼哈顿距离

5.通过键盘输入两个数字,并计算两个数字之和,并打印输出

x, y = map(int, input('请输入两个数字:').split())      #输入两个数并拆分成两个整型
z = x + y                                       #计算两个数的和
print(z)                                         #输出两个数的和

6.通过键盘输入一元二次方程的系数,并计算二次方程的根,并打印输出。

        注意:# 二次方程式 ax**2 + bx + c = 0

                   # a、b、c 用户提供,为实数,a ≠ 0

                   # 导入 cmath(复杂数学运算) 模块

import cmath                                          #导入复杂数学运算模块
import math

a, b, c = map(float, input('请输入一元二次方程的三个系数:').split()) #拆分输入系数
delta = b * *2 - 4 * a * c                             #计算方程判别式delta
if delta == 0:       #选择结构,根据判别式区分三种情况,delta = 0方程有两个相同实根
x = -b / (2 * a)
print('方程组有两个相同实根:', x)
elif delta > 0:                                        #delta > 0方程有两个不同实根
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print('方程组有两个实根:', 'x1=', x1, ', x2=', x2)
else:                                                  #delta < 0方程有两个不同虚根
	x1 = (-b + cmath.sqrt(delta)) / (2 * a)
	x2 = (-b - cmath.sqrt(delta)) / (2 * a)
	print('方程组有两个虚根:', 'x1=', x1, ', x2=', x2)

7.编程计算1~100之间能被7整除,但不能同时被5整除的所有整数,并打印输出

for i in range(1,101):          #遍历1至100之间的所有整数
    if(i%7 == 0 and i%5 != 0):  #判断符合条件的输出
        print(i)

8.通过键盘输入一个整数,编程判断该整数是否为质数

import math         					#导入math模块

x = int(input('请输入一个整数:'))
y = 0
for i in range (2,int(math.sqrt(x))+1): 		#遍历2-这个数的开方
    if x%i == 0:    					#判断这个数是否有除了1和本身以外的因数
        y += 1
if y == 0:
    print(x,'是质数')
else:
    print(x,'不是质数')

9.编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数

import random                           #导入random模块

a = []                                  #创建空列表a
for i in range (1000):                  #生成1000个0-100的随机数
    a.append(random.randint(0,100))
for i in range (0,101):                 #统计每个数的出现次数并输出
    print(i, a.count(i))

10.编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]

x = list(input('请输入一个列表:').split(','))          #将输入的数转换为列表
a, b = map(int, input('请输入两个下标:').split(','))   #将输入的数转换为整型
for i in range (a, b+1):                                #输出两下表间的数
    print(x[i], end = ' ')

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值