1. 求一个十进制的数值的二进制的0、1的个数
def ten_to_twe(num):
x = bin(num)
x = list(str(x))[2:] # [2:]的作用:转换为二进制字符串,去除前缀'0b'
return x.count('0'), x.count('1') # 这里不能用and
# .count(sub)方法用于统计字符串中子字符串sub出现的次数。
num = int(input("十进制转二进制:"))
a,b = ten_to_twe(num)
print(f'{bin(num)[2:]}中,有{a}个0,有{b}个1.')
2. 实现一个用户管理系统(要求使用容器保存数据)
[{name: xxx, pass: xxx, ……},{},{}]
users = []
class User:
def __init__ (self, name, password):
self.name = name
self.password = password
def sign_up(name,password):
new_user = User(name, password)
users.append(new_user)
print("注册登陆成功!")
def menu():
print("1. 注册登录 2.退出")
while True:
menu()
choice = int(input("请选择:"))
if choice == 1:
name = input("name=")
password = input("password=")
sign_up(name,password)
break
else:
break
print(users)
3. 求1~100之间不能被3整除的数之和
total=sum([i for i in range (1,100)if i % 3 == 0])
print("1~100之间不能被3整除的数之和:",total)
4. 给定一个正整数N,找出1到N(含)之间所有质数的总和
def zhishu(num):
for i in range (2,num//2+1):
if num % i == 0:
return False
return True
def he(a,b):
s=0
for i in range (a,b+1):
if zhishu(i) == True:
s += i
return s
N=int(input("一个正整数N:"))
print(he(2,N))
5. 计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
def PI():
n = 0
sum_PI = 0
for i in range(1,10000,2):
sum_PI += ((-1)**n)*(1/i)
n += 1
PI = 4 * sum_PI
return PI
print("PI =", PI())
6. 给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
def list(x):
return sorted(x)
a = [47,27,67,84,85,62,70,19,12,32]
list1 = list(a)
print(list1)
7. 求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
def jishuan(a,n):
s = 0
w = 0
for i in range (n):
w = w*10+a
s += w
return s
a = int (input("输入a为1至9之中的一个数:"))
n = int (input("输入a的项数:"))
print(jishuan(a,n))
8. 合并两个有序数组,合并后还是有序列表
import itertools
def lists(list1, list2):
# 使用itertools.chain合并两个有序列表,并转换回列表类型
return list(itertools.chain(list1, list2))
list1 = [1,3,5,7]
list2 = [2,4,6,8]
x = lists(list1, list2)
print(x)
9. 给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前