python第四次作业

目录

本次作业借鉴别人的代码较多,如若侵权,立马删除。

1、求一个十进制的数值的二进制的0、1的个数

2、实现一个用户管理系统(要求使用容器保存数据) (借鉴代码,若侵权立马删除)

3、求1~100之间不能被3整除的数之和 

4、定一个正整数N,找出1到N(含)之间所有质数的总和(借鉴代码,侵权必删)

5、计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)(使用for循环中的第三种方式,即start,end,step)

6.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

7、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。(代码借鉴,侵权必删)

8、定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

9、某个人进入如下一个棋盘中,要求从左上角开始走, 最后从右下角出来(要求只能前进,不能后退), 问题:共有多少种走法? 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


1、求一个十进制的数值的二进制的0、1的个数

num = int(input("请输入一个数:"))
 
def number(num):
    ls = []
    back_num = num
    while num != 0:
        n = num % 2
        num //= 2
        ls.append(n)
    ls.reverse()
    print(f"{back_num}的二进制数为:")
    for i in ls:
        print(i,end="")
    print()
    a = ls.count(0)
    b = ls.count(1)
    print(f"0的个数为:{a},1的个数为:{b}")
 
number(num)

2、实现一个用户管理系统(要求使用容器保存数据)


import sys


users = []
while True:
 print("欢迎登录我们的用户管理系统")
 print("\t\t 1、用户注册")
 print("\t\t 2、用户登录")
 print("\t\t 3、退出系统")
 choice = input("请选择您的操作:")

 if choice == "1":
  while True:
   print("欢迎进入到用户注册页面")
   username = input("请输入用户名称:")
   password = input("请输入用户密码:")
   confirm_password = input("请再次确认密码:")


   if username == None or len(username) == 0:
    print("对不起,用户为空")
    continue
   flag = False
   for u in users:
    if u.get("username") == username:
     print("对不起,该用户已经存在,请重新注册")
     flag = True
     break
   if flag:
    continue
   if len(password) < 3:
    print("对不起,密码长度不能少于3位")
    continue
   if password != confirm_password:
    print("两次密码不一致")
    continue
   user = {"username": username, "password": password}
   users.append(user)
   print("用户注册成功,请登录")
   break
 elif choice == "2":
  print("欢迎进入到用户登录页面")
  username = input("请输入用户名称:")
  password = input("请输入用户密码:")
  for user in users:
   if user["username"] == username and user.get("password") == password:
    print("恭喜您,{},登录成功".format(username))
   else:
    print("对不起,登录失败,请重新登录~~")

 elif choice == "3":
  sys.exit()
 else:
  print("输入有误,请重新选择")



import sys

users = []
while True:
 print("欢迎登录我们的用户管理系统")
 print("\t\t 1、用户注册")
 print("\t\t 2、用户登录")
 print("\t\t 3、退出系统")
 choice = input("请选择您的操作:")

 if choice == "1":
  while True:
   print("欢迎进入到用户注册页面")
   username = input("请输入用户名称:")
   password = input("请输入用户密码:")
   confirm_password = input("请再次确认密码:")

   if username == None or len(username) == 0:
    print("对不起,用户为空")
    continue

   flag = False
   for u in users:
    if u.get("username") == username:
     print("对不起,该用户已经存在,请重新注册")
     flag = True
     break
   if flag:
    continue

   if len(password) < 3:
    print("对不起,密码长度不能少于3位")
    continue

   if password != confirm_password:
    print("两次密码不一致")
   

输出结果:python第四次作业_第1张图片

3、求1~100之间不能被3整除的数之和 

代码:

count1 = 0 
for i in range(1,101):
    if i % 3 == 1 or i % 3 == 2 :
        count1 +=i
print(f"1到100之间不能被3整除的数之和为{count1}")

4、定一个正整数N,找出1到N(含)之间所有质数的总和

def count(x):
    if x == 1:
        return False
    for i in range(2, x // 2 + 1):
        if x % i == 0:
            return False
    return True
 
 
n = int(input('请输入一个正整数N:'))
y = 0
for x in range(1, n + 1):
    if count(x):
        y += x
print(f'1到N(含)之间所有质数的总和为:{y}')

5、计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)(使用for循环中的第三种方式,即start,end,step)

def PI():
    n = 0
    sum_PI = 0
    for i in range(1, 1000, 2):
        sum_PI += ((-1) ** n) * (1 / i)
        n += 1
    PI = 4 * sum_PI
    return PI
 
 
print(f'PI = {PI()}')

6.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

代码:

ls = [1,2,3,4,5,6,7,8,9,10]
print("列表",ls)
num_max = ls[0]
num_min = ls[0]
num_and = 0
for i in range(1,len(ls)):
	if num_max < ls[i]:
		num_max = ls[i]
	elif num_min > ls[i]:
		num_min = ls[i]
	else:
		pass
print("最大值:",num_max)
print("最小值:",num_min)
for i in ls:
	num_and += i
print("和:",num_and)
num_average = num_and/len(ls)
print("平均值:",num_average)

运行结果:

python第四次作业_第2张图片

7、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

代码段:

def one_sum(a, n):
    sum_a = 0
    for i in range(1, n + 1):
        num = int(f'{a}' * i)
        sum_a += num
    return sum_a
 
 
a = int(input('请输入一个在区间[1,9]的正整数:'))
n = int(input('请输入指定的项数:'))
print(f'所求多项式的和为:{one_sum(a, n)}')

8、定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

代码段:

def e(ls=[]):
    for i in range(len(ls)):
        if ls[i] % 2 != 0:
            for j in range(i + 1, len(ls)):
                if ls[j] % 2 == 0:
                    ls[i], ls[j] = ls[j], ls[i]
                    break
    return ls
 
 
ls = [1, 4, 7, 8, 10, 13, 17, 18, 29]
print(f'原列表为:{ls}')
print(f'将偶数置于奇数前,列表变为:{e(ls)}')

9、某个人进入如下一个棋盘中,要求从左上角开始走, 最后从右下角出来(要求只能前进,不能后退), 问题:共有多少种走法? 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

不会

你可能感兴趣的:(python)