目录
4.计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
5.给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
6.求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
8.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
9.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
10.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
11.写一个方法,计算列表所有偶数下标元素的和(注意返回值)
12.实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]
1、求一个十进制的数值的二进制的0、1的个数
print("求一个十进制的数值的二进制的0、1的个数 ")
a = int(input('请输入一个整数:'))
n = 0
b = 0
yuan = a
zero = 0
one = 0
ls = []
while a != 0:
z = a % 2
ls.append(z)
a //= 2
print(z)
if z == 0:
zero += 1
if z == 1:
one += 1
ls.reverse()
print(ls)
a = str()
for i in ls:
a += str(i)
print(f"{yuan}的二进制数是{a}")
print(f"1的个数有{one}个")
print(f"0的个数有{zero}个")
2.求1~100之间不能被3整除的数之和:
print("求1~100之间不能被3整除的数之和")
count = 0
for i in range(1,101):
if i % 3 != 0:
count += i
print(count)
3.、给定一个正整数N,找出1到N(含)之间所有质数的总和
# 给定一个正整数N,找出1到N(含)之间所有质数的总和
def zhishu(x):
if x > 1:
flag = True
for i in range(2,x // 2 + 1):
if x % i ==0:
flag = False
break
if flag:
print(f"{x}是质数!")
return x
else:
print(f"{x}不是质数!")
elif x == 1:
print("1不是质数")
a = int(input("请输入一个正整数:"))
count = 0
for x in range(1,a + 1):
if zhishu(x):
count += x
print(f'1到{a}(含)之间所有质数的总和为:{count}')
4.计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
def PI(x):
count = 0
n = 0
for i in range(1,x + 1):
count += ((-1)**n)*(1/(2 * i -1))
n +=1
return count
a = int(input("请输入长度(整数):"))
b = 4 * PI(a)
print(b)
5.给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
def px(ls=[]):
for i in range(len(ls)):
xiabiao = i
for j in range(i + 1,len(ls)):
if ls[xiabiao] > ls[j]:
xiabiao = j
ls[xiabiao],ls[i] = ls[i],ls[xiabiao]
return ls
n = int(input('请输入列表包含的元素个数:'))
ls = []
for i in range(1,n+1):
elem = input(f'请输入列表1的第{i}个元素:')
ls.append(elem)
print(f'原列表为:{ls}')
print(f'排序后的列表为:{px(ls)}')
6.求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
def sum(a,n):
sum = 0
for i in range(1,n + 1):
num = int(f"{a}" * i)
sum += num
return sum
a = int(input("请输入1~9之间的正整数:"))
n = int(input("请输入项数:"))
print(f'所求和为{sum(a,n)}')
7.合并两个有序数组,合并后还是有序列表
def selection_sort(ls=[]):
for i in range(len(ls)):
xiabiao = i
for j in range(i + 1,len(ls)):
if ls[xiabiao] > ls[j]:
xiabiao = j
ls[xiabiao],ls[i] = ls[i],ls[xiabiao]
return ls
n1 = int(input('请输入列表1包含的元素个数:'))
ls1 = []
for i in range(1,n1+1):
elem = input(f'请输入列表1的第{i}个元素:')
ls1.append(elem)
n2 = int(input('请输入列表2包含的元素个数:'))
ls2 = []
for i in range(1,n2+1):
elem = input(f'请输入列表2的第{i}个元素:')
ls2.append(elem)
print(f'您输入的列表1是:{ls1}')
print(f'您输入的列表2是:{ls2}')
ls1.extend(ls2)
print(f'合并后的有序列表为:{selection_sort(ls1)}')
8.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def even_before_odd(ls=[]):
for i in range(len(ls)):
xiabiao = i
for j in range(i + 1,len(ls)):
if int(ls[xiabiao]) % 2 != 0:
xiabiao = j
ls[i],ls[xiabiao] = ls[xiabiao],ls[i]
return ls
n = int(input('请输入列表包含的元素个数:'))
ls = []
for i in range(1,n+1):
elem = input(f'请输入列表1的第{i}个元素:')
ls.append(elem)
print(f'原列表为:{ls}')
print(f'调整后的列表为:{even_before_odd(ls)}')
9.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
def repeat(ls):
ls1 = []
for i in ls:
if ls.count(i) >= 2:
ls1.append(i)
ls2 =[]
for n in ls1:
if n not in ls2:
ls2.append(n)
return ls2
ls = [1,8,1,9,2,5,8,6,7]
print(ls)
print(f"重复的值有{repeat(ls)}")
10.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
def found(x):
ls = []
count = 0
for i in range(0,x+1):
if (i % 5 == 0 and i % 6 !=0 ) or (i % 5 != 0 and i % 6 == 0 ):
ls.append(i)
count += 1
return count,"个",ls
x = int(input("请输入一个数:"))
print(f"0到{x}以内能被5或6整除,但不能被两者同时整除的数有{found(x)} ")
11.写一个方法,计算列表所有偶数下标元素的和(注意返回值)
def xiabioa_sum(ls=[]):
count = 0
for i in range(len(ls)):
xiabiao = i
if int(ls[xiabiao]) % 2 == 0:
count += xiabiao
return count
n = int(input('请输入列表包含的元素个数:'))
ls = []
for i in range(1,n+1):
elem = input(f'请输入列表1的第{i}个元素:')
ls.append(elem)
print(f"列表所有偶数下标元素的和{xiabioa_sum(ls)}")
12.实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]
users = []
while True:
print("信息管理系统")
print(" 1.账号注册")
print(" 2.账号登录")
print(" 3.退出系统")
choice = int(input("请输入您的选择:"))
if choice == 1:
while True:
print('欢迎进入注册界面!')
a = input('请输入您的账户:')
b = input('请输入您的密码:')
if a is None or len(a) == 0:
print('对不起,用户名不能为空或者长度为0,请重新输入')
continue
flag = False
for d in users:
if d.get('a') == a:
print('对不起,用户名已经存在,请重新输入')
flag = True
break
if flag:
continue
if len(b) < 3:
print('密码长度不能小于3,请重新输入')
continue
user = {"username": a, "password": b}
users.append(user)
print("用户注册成功,请登录")
print(users)
break
elif choice == 2:
print('欢迎进入登录界面!')
a = input('请输入您的账户:')
b = input("请输入您的密码:")
for user in users:
if user['username'] == a and user.get('password') == b:
print('登陆成功')
break
else:
print('登陆失败,请重新输入')
elif choice == 3:
exit()
else:
print("输入有误。请重新输入!")