作业1:求十进制数字9的二进制编码:求十进制数字9的二进制编码中的1的数量:
def numt(num):
a = bin(num)
print(f"二进制为:{a}")
b = str(a).count("1")
return b
print(numt(9))
![](https://img-blog.csdnimg.cn/img_convert/0027a4da164a71483a8b12e9c1a090e0.png)
作业2:求1~100之间不能被3整除的数之和
a = 0
for x in range(1,101):
if x % 3 == 0:
continue
else:
a = x + a
print(f"百位以内不可被三整除的数和为:{a}")
![](https://img-blog.csdnimg.cn/img_convert/d0ec891a94ea7beac54f4dbdb6950b04.png)
作业3:给定一个正整数N,找出1到N(含)之间所有质数的总和
def numn(n):
a = 1
for i in range(2,n + 1):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
break
if flag:
a = i + a
print(f"1到{n}间质数之和为:{a}")
n = int(input("enter a num:"))
numn(n)
![](https://img-blog.csdnimg.cn/img_convert/7d55137b11577c9139ac3f438b534cf5.png)
作业4:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
def pi():
x = 0
y = 1
for i in range(1,10000,2):
if y % 2 != 0:
x = x + 1 / i
y += 1
elif y % 2 == 0:
x = x - 1 / i
y += 1
pi = 4 * x
print(f"PI={pi}")
pi()
![](https://img-blog.csdnimg.cn/img_convert/67fdc77a1585f22c6c69867c44a033ed.png)
作业5:给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
def pai(a=[]):
for i in range(len(a)):
mina = i
for j in range(i + 1,len(a)):
if a[mina] > a[j]:
mina = j
a[mina], a[i] = a[i], a[mina]
return a
a = [1,3,5,7,9,2,4,6,8,10]
print(a)
print(f"排序后为:{pai(a)}")
![](https://img-blog.csdnimg.cn/img_convert/d378892edfa29fc58a6c1e972f0dd7b3.png)
作业6:求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
def na(x,y):
a = 0
for i in range(1,y + 1):
j = int(f"{x}" * i)
a += j
return a
x = int(input("输入一个1-9的数:"))
y = int(input("输入项数:"))
print(na(x,y))
![](https://img-blog.csdnimg.cn/img_convert/603be83a1b4fef672b7fdcb89e880c57.png)
作业7:合并两个有序数组,合并后还是有序列表
def pai(a=[]):
for i in range(len(a)):
mina = i
for j in range(i + 1,len(a)):
if a[mina] > a[j]:
mina = j
a[mina], a[i] = a[i], a[mina]
return a
a1 = [1,3,5,7,9]
a2 = [0,2,4,6,8]
a1.extend(a2)
print(pai(a1))
![](https://img-blog.csdnimg.cn/img_convert/20e9dff1102ca23575121974826c0d0d.png)
作业8:给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def jiou(a=[]):
for i in range(len(a)):
if a[i] % 2 != 0:
for j in range(i + 1,len(a)):
if a[j] % 2 == 0:
a[i],a[j] = a[j],a[i]
break
return a
a = [1,2,3,4,5,6,7,8,9]
print(a)
print(jiou(a))
![](https://img-blog.csdnimg.cn/img_convert/2e9e0e2606119e171971a5bd72d3d49d.png)
作业9:将10进制数据转换为二进制,并且统计其中的0和1的数量
def er(x):
a = bin(x)
b = str(a).count("1")
c = str(a).count("0") - 1
print(f"{a},count 1:{b},count 0:{c}")
x = int(input("enter a number:"))
er(x)
![](https://img-blog.csdnimg.cn/img_convert/65dd343c3211126167806e62d025b4af.png)
作业10:给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。
[1,3,1,2,2,8,8]
def pairs(a=[]):
x = 0
for i in a:
x ^= i
return x
a = [1,3,1,2,2,8,8]
print(f"the num not in pairs is {pairs(a)}")
![](https://img-blog.csdnimg.cn/img_convert/044b3de42cbb12410e266d79d8276cc8.png)
作业(选做题):
某个人进入如下一个棋盘中,要求从左上角开始走,
最后从右下角出来(要求只能前进,不能后退),
问题:共有多少种走法?
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0