
1.导入并认识random库要想导入开头必须用import是导入的意思random随机生成和在一起就是importrandomrandom.random()返回 [0,1] 的随机浮点数random.uniform(a, b)返回 [a,b] 的随机浮点数random.randint(a, b)返回 [a,b] 的随机整数random.choice(seq)从序列中随机选一个元素random.shuffle(seq)原地打乱序列顺序random.sample(seq, k)从序列中取 k 个不重复元素组成新列表猜盲盒需要用到random.randint(a, b),比如importrandomprint(random.randint(100,123))#生成一个100到123的随机整数2.打印盲盒提供信息我们要猜就要给出信息为了避免信息太多我们就打印5个盲盒吧正常用法foriinrange(5):print(|-----|)print(| ? |)print(|-----|)可以通过\n来压行foriinrange(5):print(|-----|\n| ? |\n|-----|)要想再把for压可以列表最后输出print(*[|-----|\n| ? |\n|-----|\nforiinrange(1,6)],sep)我们打印时要有空隙所以print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(1,6)],sep)3.猜盲盒的重要部分输入时tips第几个盲盒?也就是input(第几个盲盒?)我自己想的如果用户一次就猜对了打印3星如果用户3次都没猜对打印失败否则打印1星正常用法importrandomasrd rd_rd.randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(1,6)],sep)foriinrange(3):ifi0andint(input(第几个盲盒?))rd_:print(3星)breakelifint(input(第几个盲盒?))rd_:print(1星)breakelse:print(失败)if-else的压缩方法是内容 if 条件 else 内容可elif条件没法弄可以分成2段importrandomasrd rd_rd.randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(1,6)],sep)ifint(input(第几个盲盒?))rd_:print(3星)else:foriinrange(2):ifint(input(第几个盲盒?))rd_:print(3星)else:print(失败)这样的话就有2个if-else了没有elif关键是怎么把这8行压成1行呢importrandomasrd rd_rd.randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(1,6)],sep)print(3星ifint(input(第几个盲盒?))rd_else???)我们可以反着用!importrandomasrd rd_rd.randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(1,6)],sep)print(???ifint(input(第几个盲盒?))!rd_else3星)可以用列表可怎么才能把列表变成布尔值呢all既解决了布尔值的问题也解决了for-else的问题importrandomasrd rd_rd.randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(5)],sep)print((1星ifall([int(input(第几个盲盒?))rd_foriinrange(2)])else失败)ifint(input(第几个盲盒?))!rd_else3星)4.极限简化再简化用__ import __()rd___import__(random).randint(1,5)print(*[|-----|\n| ? |\n|-----|\n\nforiinrange(5)],sep)print((1星ifall([int(input(第几个盲盒?))rd_foriinrange(2)])else失败)ifint(input(第几个盲盒?))!rd_else3星)再简化用lambdaprint(*[|-----|\n| ? |\n|-----|\n\nforiinrange(5)],sep)print((lambdard_:(1星ifall([int(input(第几个盲盒?))rd_foriinrange(2)])else失败)ifint(input(第几个盲盒?))!rd_else3星(__import__(random).randint(1,5)))就那么“简单”5.总结今天学习了random库for循环列表for-else!if-else压缩方法all__ import __()lambda