• python每日练习0801


    #有一堆100块的石头,2个人轮流随机从中取1-5块,谁取最后一块就谁win,编程实现
    import random
    stones = 100
    count = 0
    while stones > 0:
        c = random.randint(1,5)
        if c > stones:
            c = stones
        if count % 2 == 0:
            print("第二个人取了%s块石头" %c)
        else:
            print("第一个个取了%s块石头" %c)
        stones -= c
        count += 1
    
    
    #实现一个方法,判断一个正整数是否是2的乘方,比如16是2的4次方,返回True;18不是2的乘方,返回False。
    #要求性能尽可能高。
    def check(n):
        count = 0
        while True:
            if 2 ** count == n:
                return True
            elif 2 ** count > n:
                return False
            else:
                count += 1
    
    print(check(18))
    print(check(8))
    print(check(2))
    
    #lista = ['a','abc','d','abc','fgi','abf'],寻找列表中出现次数最多的第一个字母,
    # 出现了几次
    lista = ['a','abc','d','abc','fgi','abf']
    lista_str = ''.join(lista)
    max_code = lista_str[0]
    max_number = lista.count(max_code)
    for letter in lista_str:
        if lista_str.count(letter) > max_number:
            max_code = letter
            max_number = lista_str.count(letter)
    
    print(max_code,max_number)
    
    #平衡点,一个数组,有一个数字左边所有的数字加起来的总和等于这个数右边所有数字的总和,请输出这个数以及坐标
    array_list = [4,3,2,8,7,2]
    for index in range(len(array_list)):
        if sum(array_list[:index]) == sum(array_list[index+1:]):
            print("平衡点的数字是:%s,平衡点的坐标是:%s" %(array_list[index],index))
            break
    else:
        print("无平衡点")
    
    #输入一个数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
    array_list = [4,3,2,8,7,2]
    max_value = max(array_list)
    max_value_index = array_list.index(max_value)
    min_value = min(array_list)
    min_value_index = array_list.index(min_value)
    
    array_list[max_value_index],array_list[0] = array_list[0],array_list[max_value_index]
    array_list[min_value_index],array_list[-1] = array_list[-1],array_list[min_value_index]
    print(array_list)
    
    #给定一个数组和数,求出数组中两个数的和等于给定的数,并返回坐标
    def findIndex(nums,target):
        result ={}
        for index in range(len(nums)):
            second_num = target - nums[index]
            if nums[index] in result:
                print(result)
                return result[nums[index]],index
            else:
                result[second_num] = index
    
    print(findIndex([4,3,2,8,7,2],10))
  • 相关阅读:
    vue-element-admin项目install出现的问题
    关于html5 Notification桌面通知无法在谷歌浏览器显示的问题
    C#调用存储过程执行缓慢,但在数据库中执行却很快的问题
    IdnentiyServer-使用客户端凭据访问API
    IdentityServer开题篇
    IdentityServer4客户端JWT解密实现(基于.net4.0)
    iis访问网络路径映射问题(UNC share)
    .net core部署在iis上
    git blame 查找修改者
    代码管理工具-将项目文件打成tar包,并且排除.git目录
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/11281080.html
Copyright © 2020-2023  润新知