python每日一题(11.26)

1、如何从列表中随机抽取一个元素?

from random import choice
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(choice(list1))

 

2、如何从列表中随机抽取若干个元素(无重复)?

法一:

from random import sample
list1 = [1, 2, 3, 4]
print(sample(list1, 3))  # 从列表list1中随机抽取3个无重复元素

注:这里的重复还是不重复指的是索引,而不是元素的值

法二:

from random import shuffle
list1 = [1, 2, 3, 4]
shuffle(list1)
list2 = []
for i in range(3):
    list2.append(list1[i])
print(list2)

shuffle()函数:将序列的所有元素随机排序。该函数是对原序列进行操作,改变了原序列,它没有返回值

3、python3.x中都加入了函数参数注释功能:(在力扣网上List[int]可以用,在pycharm中不可以??)

def game(self, guess:List[int], answer:List[int])->int:

guess和answer后面的:List[int]说明guess和answer均是列表,且列表元素均是整型

->int说明函数的返回值是一个整型

4、

小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?

(我的方法)

class Solution:
    def game(self, guess:List[int], answer:List[int])->int:
        a = 0
        for i in range(3):
            if guess[i] == answer[i]:
                a += 1
        return a

其他方法:

class Solution:
    def game(self, guess:List[int], answer:List[int])->int:
        return (guess[0] == answer[0]) + (guess[1] == answer[1]) + (guess[2] == answer[2])
class Solution:
    def game(self, guess:List[int], answer:List[int])->int:
        return  sum(guess[i] == answer[i] for i in range(3)) 

注:在python中,可以对布尔值进行加减法运算。这时True被看做1,False被看做0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值