Python 实验3 函数
-
根据输入参数(行数)不同,输出下面图形
代码
n = int(input("请输入一个整型参数:")) for i in range(1, n + 1): for k in range(2 * (n - i)): print("", end=" ") for j in range(1, 2 * i): print("*", end=" ") print()
运行截图
-
编写函数,接收一个包含若干整数的列表参数lst,返回一个元组,其中第一个元素为列表lst中的最小值,其余元素为最小值在列表lst中的下标。
代码
import random; def func(): a = list(random.choice(range(1, 11)) for i in range(1, 31)) print(a) b = tuple(str(min(a))) c = tuple([i for i, x in enumerate(a) if x == min(a)]) d = b + c print("列表中的最小值及在列表中的位置元组为:", d) b = func()
运行截图
-
轮盘抽奖是比较常见的一种游戏,在轮盘上有一个指针和一些不同颜色、不同面积的扇形,用力转动轮盘,轮盘慢慢停下后依靠指针所处的位置来判定是否中奖以及奖项等级。
转动一万次,请统计每种奖的概率?
思考,如何设置每种奖的概率?如:
奖项分布 = {‘一等奖’:(0, 0.08),
‘二等奖’:(0.08, 0.3),
‘三等奖’:(0.3, 1.0)}
代码
import random rewardDict = { '一等奖': (0, 0.08), '二等奖': (0.08, 0.3), '三等奖': (0.3, 1.0) } def rewardFun(): num = random.random() for k, v in rewardDict.items(): if v[0] <= num < v[1]: return k resultDict = { } for i in range(10000): res = rewardFun() if res not in resultDict: resultDict[res] = 1 else: resultDict[res] += 1 for k, v in resultDict.items(): print(k, '------>', v / 10000)
运行截图