计算机导论课作业 01(基于Python)

2、(10 points)安装并使用Python3.X
安装 Python3.0以后的版本,至于怎么安装就不赘述了。安装完成后,试着运行
print(“Hello World!”). 试着用安装的IDLE上面执行一些运算: a=12; b=3; a/b; b=5; a/b; a//b; a%b; a/bb; a//bb; a=98765432109876543210;ab; int(a1.0); 210;220; a=”10”; print(a*10); int(a)10; int(a10);print(a+10); 将运行结果图粘贴在你的文档,请按照顺序执行,错误信息也贴上。
在这里插入图片描述

3、(10 points)《编程导论》练习题1.2.1。

list1 = list(map(int,input().split()))
print(list1)
for i in list1:
    if 100 >= int(i) >= 0:
        if int(i)%2 == 0:
            print(i)
        else:
            Continue

4、(10 points)《编程导论》练习题1.4.3,这个问题是关于移除列表中的所有的1,书中提供了一个解题思路,但是用这个思路写出来的程序是一个没有效率的程序,尤其当1很多的时候,各位同学学到第二章后就了解了。请你用自然语言写出一个比较有效率的解题思路。假如你能用Python完成这个程序,会更有收获,就看你了。

L= list(map(int,input().split()))
while True:
    if 1 in L:
        L.remove(1)
    else:
        break
        

print(L)

5、(10 points)用Python完成练习题1.4.4, 1.4.5, 1.4.6, 1.4.7,请自己设定一个列表L,执行程序来验证你的结果。

#1.4.4
L = [1,2,3,4,5,6,7,8,9]
L1 = L[:len(L) - len(L)//2]
L2 = L[len(L) - len(L)//2:len(L)]
print(L1)
print(L2)


#1.4.6
L = [1,2,3,4,5,6,7,8,9,0]
L1 = L[:len(L)//3]
L2 = L[len(L)//3:2*len(L)//3]
L3 = L[2*len(L)//3:len(L)]
print(L1)
print(L2)
print(L3)

#1.4.7
L = [1,2,3,4,5,6,7,8,9,0]
L.reverse()
print(L)


6、(10 point)判断一个点是否在矩形内部(含边界)
平面直角坐标系中有一点A(ax,ay),以点A的纵坐标为基准,分别向上、向下移动高度为h的距离作两条平行于x轴的直线;以点A的横坐标为基准,分别向左、向右移动长度为w的距离作两条平行于y轴的直线。取四条直线围成的矩形(如下图所示)。现在有另一个点C(cx,cy),判断点C是否在该矩形内部(包含边界)。如果在,程序输出Yes,否则输出No。(假设ax=3,ay=3,h=2,w=2.5,cx=4,cy=1。),你应该要试试看不同的数值, 例如cx=4, cy=0.5.
请同学们把你的代码拷贝到word报告中,并将程序的运行结果截图粘贴到代码下方。
在这里插入图片描述

ax = 3
ay = 3
h = 2
w = 2.5
list1 = list(map(float,input().split()))
cx = list1[0]
cy = list1[1]
if (ax + w) >= cx >= (ax - w):
    if (ay + h) >= cy >= (ay - h):
        print("Yes")
    else:
        print("No")
else:
        print("No")

7、(10 points)完成并执行Python程序,输入任意三个数,例如20, 2, 10,输出它们从小到大的顺序,此例输出为2, 10, 20。提示:你可以使用新的变量来记录运算过程中的结果。

L= list(map(int,input().split()))
L.sort()
print(L)

8、完成并试验下列练习题的Python程序:
(a)(5 points)练习题1.5.3, 1.5.4, 1.5.5;
(b)(5 points)仿造练习题1.5.5,打印出一个倒三角形的图形,也就是,第一行是1…n,第二行是1… n-1,最后一行是1。

#1.5.3
k = 10
for i in range(0,k):
    for j in range (1,6):
        print (j,end='')
    print('\n')


#1.5.4
k = 10; n = 15
for i in range(0,k):
    for j in range (1,n+1):
        print (j,end='')
    print('\n')


#1.5.5
n=15
for i in range (0,n):
    for j in range(1,i+1):
        print(j,end=" ")
    print('\n')
    
#附加题 
n=15
for i in range (n,0,-1):
    for j in range(i,0,-1):
        print(j,end=" ")
    print('\n')


9、(10 points)用Python程序完成下面的练习题:1.5.7, 1.5.9。对于1.5.9,老师希望你能够自己想出另外一种方式来完成。假如想不出来,那就用书本上的方式,你也会得到基本的分数。

#1.5.7
L = list(map(int,input().split()))
L1=[];L2=[];
a = L[0]
m=1
for i in range(1,len(L)):
    if L[i] < a:
        L1.append(L[i])
    elif  L[i] > a:
        L2.append(L[i])
    elif L[i] == a:
        m+=1
L3 = []
L3.extend(L1)
for i in range(1,m):
    L3.append(a)

L3.extend(L2)
print(L3)

#1.5.9

a=input()
a = int(a)
b=1
d=1
L=[]
for i in range(1,a+2):
    for j in range(1,i):
        b *= j
    for k in range(a,a-i+1,-1):
        d *= k
    m = (d /b)
    b=1
    d=1
    m=int(m)



    L.append(m)
print(L)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值