python学习实验报告(第⼀周)
⼀、实验⽬的及要求
1. 使⽤Python语⾔编写简单程序设计题⽬;
2. 掌握:Python常⽤内置对象-常量与变量、数字类型、字符串;
3. 掌握:Python常⽤内置对象-列表、元组、字典、集合;
4. 掌握:多种算术运算符的使⽤,包括⽐较运算符、逻辑运算符、赋值运算符、复合赋值运算符、位运算符、按位取反、异或运算和复合赋值运算符;
5. 掌握:常⽤Python内置函数的⽤法;
6. 实验完成后,认真写出实验报告,对出现的问题进⾏分析、总结;
7. 实验过程中,遵守实验室的各项规章制度,爱护实验设备,保持环境卫⽣;
8. 实验过程中,不得进⾏游戏、上⽹等操作;
⼆、实验内容及结果
1.编写程序,输⼊任意⼤的⾃然数,输出各位数字之和。(使⽤map函数)
def sum(x):
x_bit =list(x)
sum=0
for i in x_bit:
sum+=eval(i)
return str(sum)
data =input("请输⼊⾃然数(⽤空格隔开):")
data_list = data.split(" ")
print(data_list)
result_list =list(map(sum, data_list))
print("⾃然数对应的各位数字之和为:"+" ".join(result_list))
2.编写程序,通过⽤户输⼊三⾓形三边长度,并计算三⾓形的⾯积。
import math
edge =input("请输⼊三⾓形的三条边(⽤空格分分隔):")
[a, b, c]=[eval(i)for i in edge.split(" ")]
while a+b <= c or a+c <= b or b+c <= a:
edge =input("三条边⽆法组成三⾓形,请重新输⼊:")
[a, b, c]=[eval(i)for i in edge.split(" ")]
cosa =(b**2+ c**2- a**2)/(2*b*c)
sina = math.sqrt(1- cosa**2)
area =round(b * c * sina,2)
print("三⾓形的⾯积为:{}".format(area))
3.编写程序,⽣成⼀个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间。
import random
data =[]
while len(data)<20:
data.append(random.randint(1,100))
list(set(data))
print("20个不同的1-100的随机数列表:{}".format(data))
4.编写程序,输⼊两个集合setA和setB,分别输出它们的交集,并集和差集setA - setB(使⽤eval函数)。
stra =input("请输⼊集合setA(空格分隔):")
strb =input("请输⼊集合setB(空格分隔):")
setA ={eval(i)for i in stra.split(" ")}
setB ={eval(i)for i in strb.split(" ")}
print("交集为:{}".format(setA & setB))
print("并集为:{}".format(setA | setB))
print("差集为:{}".format(setA - setB))
5.编写程序,输⼊⼀个⾃然数,输出它们的⼆进制,⼋进制,⼗六进制表⽰形式。
n = input("请输⼊⼀个⾃然数:")
print("⼆进制表⽰:{}".format(bin(int(n, 10))))
print("⼋进制表⽰:{}".format(oct(int(n, 10))))
print("⼗六进制表⽰:{}".format(hex(int(n, 10))))
6.编写程序,输出1-100之间所有能被7整除但是不能被5整除的数。
print("1-100之间所有能被7整除但是不能被5整除的数:")
for i in range(1, 101):
if i % 7 == 0 and i % 5 != 0:
print("{:}".format(i), end=" ")
7.编写程序,求解鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。
for x in range(1, 31):
if 2*x + 4*(30-x) == 90:
print("鸡{}只,兔{}只".format(x, 30-x))
8.编写程序,在屏幕上打印1-30数,每7个数换⾏。
for i in range(1, 31):
if i % 7 == 0:
end = "\n"
else:
end = " "
print(i, end=end)
9.编写程序,打印九九乘法⼝诀表。
print("\n".join([" ".join([str(j)+'*'+str(i)+'='+str(j*i) for j in range(1, i+1)]) for i in range(1, 10)]))
10.编写程序,输⼊⼀个包含若⼲整数的列表,输出列表中所有整数连乘的结果。(使⽤reduce函数)
data = input("请输⼊⼀个整数列表(空格分隔):")
data = [eval(i) for i in data.split(" ")]
mul = 1
for i in range(len(data)):
mul *= data[i]
python生成1到100之间随机数
print("该整数列表的乘积为:" + str(mul))
三、实验分析
从以上题⽬中,我学到了很多关于python语法的知识,同时也了解了⾃⼰还是有很多不⾜之处。题⽬虽然不难,但是⽤到的东西却是很多,在解决问题的过程中有助于我们复习以前的所学。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论