python练习杂糅④——常见编程概念和技巧

  1. 求一个十进制的数值的二进制的0、1的个数
    代码呈现:

    def bits(n):
        count_0 = 0
        count_1 = 0
    
        while n:
            if n & 1:
                count_1 += 1
            else:
                count_0 += 1
            n >>= 1
    
        return count_0, count_1
    
    
    decimal_number = int(input("请输入一个十进制数值:"))
    zero, one = bits(decimal_number)
    print(f"二进制中 0 的个数为:{zero}")
    print(f"二进制中 1 的个数为:{one}")

    结果呈现:

  2. 实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]
    代码呈现:

    def create_user(username, password):
        return {'username': username, 'password': password}
    
    
    def add_user(users, user):
        users.append(user)
    
    
    def find_user_by_username(users, username):
        for user in users:
            if user['username'] == username:
                return user
        return None
    
    
    def main():
        users = []
    
        while True:
            print("1. 登录")
            print("2. 注册")
            print("3. 退出")
            choice = input("请选择操作:")
    
            if choice == '1':
                username = input("请输入用户名:")
                password = input("请输入密码:")
                user = find_user_by_username(users, username)
                if user and user['password'] == password:
                    print("登录成功!")
                else:
                    print("用户名或密码错误!")
            elif choice == '2':
                username = input("请输入用户名:")
                password = input("请输入密码:")
                user = create_user(username, password)
                add_user(users, user)
                print("注册成功!")
            elif choice == '3':
                print("再见!")
                break
            else:
                print("无效的选择,请重新输入。")
    
    
    if __name__ == "__main__":
        main()
    

    结果呈现:

  3. 求1~100之间不能被3整除的数之和
    代码呈现:

    def sums():
        total = 0
        for i in range(1, 101):
            if i % 3 != 0:
                total += i
        return total
    
    
    print("1~100之间不能被3整除的数之和为:", sums())
    

    结果呈现:

  4. 给定一个正整数N,找出1到N(含)之间所有质数的总和
    代码呈现:

    def prime(num):
        if num <= 1:
            return False
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                return False
        return True
    
    
    def sum_primes(n):
        total = 0
        for i in range(2, n + 1):
            if prime(i):
                total += i
        return total
    
    
    num = int(input("请输入一个正整数: "))
    result = sum_primes(num)
    print("1到{}之间所有质数的总和为: {}".format(num, result))

    结果呈现:

  5. 计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
    代码呈现:

    def pi(n):
        pi = 0
        sign = 1
        for i in range(1, n + 1, 2):
            pi += sign * (1 / i)
            sign *= -1
        return 4 * pi
    
    
    n = int(input("请输入要计算的项数: "))
    approximate_pi = pi(n)
    print("计算得到的π的近似值为:", approximate_pi)

    结果呈现:

  6. 给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
    代码呈现:

    def bubble_sort(l):
        n = len(l)
        for i in range(n - 1):
            for j in range(0, n - i - 1):
                if l[j] > l[j + 1]:
                    l[j], l[j + 1] = l[j + 1], l[j]
    
    
    my_list = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    print("排序前的列表:", my_list)
    
    bubble_sort(my_list)
    print("排序后的列表:", my_list)
    

    结果呈现:

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

    def calculate_sum(a, n):
        total = 0
        term = 0
        for i in range(1, n + 1):
            term = term * 10 + a
            total += term
        return total
    
    
    a = int(input("请输入a的值: "))
    n = int(input("请输入项数n: "))
    
    result = calculate_sum(a, n)
    print("结果为:", result)

    结果呈现:

  8. 合并两个有序数组,合并后还是有序列表
    代码呈现:

    def merge_sorted_arrays(arr1, arr2):
        merged_array = arr1 + arr2
        merged_array.sort()
        return merged_array
    
    
    arr1 = list(map(int, input("请输入第一个有序数组(以空格分隔): ").split()))
    arr2 = list(map(int, input("请输入第二个有序数组(以空格分隔): ").split()))
    
    merged = merge_sorted_arrays(arr1, arr2)
    print("合并后的有序数组:", merged)
    

    结果呈现:

  9. 给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
    代码呈现:

    def arr(A):
        return [x for x in A if x % 2 == 0] + [x for x in A if x % 2 != 0]
    
    
    A = list(map(int, input("请输入非负整数数组(以空格分隔): ").split()))
    
    new_arr = arr(A)
    print("排序后的数组:", new_arr)
    

    结果呈现:

相关推荐

  1. python编程练习

    2024-03-30 10:14:02       12 阅读
  2. 编程练习python

    2024-03-30 10:14:02       15 阅读
  3. Python 题解 牛客 OJ在线编程常见输入输出练习

    2024-03-30 10:14:02       13 阅读
  4. docker概念常见命令

    2024-03-30 10:14:02       35 阅读
  5. Python 编程技巧

    2024-03-30 10:14:02       35 阅读
  6. Python编程技巧(下篇)

    2024-03-30 10:14:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 10:14:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 10:14:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 10:14:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 10:14:02       18 阅读

热门阅读

  1. C语言如何进⾏函数的⼀般调⽤?

    2024-03-30 10:14:02       21 阅读
  2. YOLOv5训练过程中的各种报错

    2024-03-30 10:14:02       19 阅读
  3. CentOS 7.9上安装Redis

    2024-03-30 10:14:02       18 阅读
  4. 贪心,LeetCode 2952. 需要添加的硬币的最小数量

    2024-03-30 10:14:02       20 阅读
  5. 大型网站的容灾备份和高可用的详细技术和示例

    2024-03-30 10:14:02       18 阅读
  6. TCP的keepalive与HTTP的keep-alive的区别

    2024-03-30 10:14:02       19 阅读
  7. 实验十 枚举问题(过程模拟)

    2024-03-30 10:14:02       17 阅读
  8. YOLOv8参数详解

    2024-03-30 10:14:02       30 阅读
  9. sql中如何添加数据

    2024-03-30 10:14:02       19 阅读