python实验7

1、编写程序模拟轮盘抽奖游戏。

分析:抽奖范围为1~100,游戏规则如下:
(1) 抽中的数字在1~3范围,为特等奖,奖金为10000元。
(2) 抽中的数字在4~10范围,为一等奖,奖金为5000元。
(3) 抽中的数字在11~30范围,为二等奖,奖金为1000元。
(4) 抽中的数字在31~100范围,为三等奖,奖金为300元。

import random

# 定义抽奖函数。
def cjhs(jxfd):
    zpds = random.randint(1, 100)  # 随机生成[1, 100]之间的整数.
    # 根据 zpds 所在的范围返回抽奖类型.
    for jxjp,kdfw in jxfd.items():
        if kdfw[0] <= zpds and zpds <= kdfw[1]:
            return jxjp

if  __name__ =='__main__':
    # 各奖项分布比例。
    jxfb = {'特等奖': (1, 3), '一等奖': (4, 10), '二等奖': (11, 30), '三等奖': (31, 100)}
    # 各奖项奖金。
    jxjj = {'特等奖': 10000, '一等奖': 5000, '二等奖': 1000, '三等奖': 300}
    zjqk = dict()  # 中奖情况
    # 1轮抽奖的次数。
    for i in range(30):
        bczk = cjhs(jxfb)
        zjqk[bczk] = zjqk.get(bczk, 0) + 1
    zjj = 0  # 总奖金
    # 根据奖项类型和奖项奖金计算奖金获得情况。
    for key, value in zjqk.items():
        if key == "特等奖": zjj = zjj + value * jxjj[key]
        if key == "一等奖": zjj = zjj + value * jxjj[key]
        if key == "二等奖": zjj = zjj + value * jxjj[key]
        if key == "三等奖": zjj = zjj + value * jxjj[key]
        print("本轮游戏中获得奖金的情况:", zjqk)
        print("本轮游戏中获得的总奖金=", zjj)

运行结果:
在这里插入图片描述

2、编写一个函数 func(n),接收一个十进制整数n作为参数,返回一个二进制整数。

def fibonacciFun(i):
    if i == 1 or i == 2:
        return 1
    else:
        return fibonacciFun(i-2)+fibonacciFun(i-1)
def fibonacciSum():
    i = 1
    sum = 0
    while i<= 10:
        sum += fibonacciFun(i)
        i += 1
    return sum

print("斐波那契数列的第5项为: ", fibonacciFun(5))
print("斐波那契数列的前10项和为: ", fibonacciSum())

运行结果:
在这里插入图片描述

3、编写两个函数,其中一个函数计算并返回斐波那契数列第i项(使用递归函数实现),另一个函数计算并返回斐波那契数列前10项的和,并对其进行测试。

def func(n):
    n = bin(n)
    print("转换为二进制数为:", n)

number = int(input("请输入一个十进制数: "))
func(number)    # 函数调用

运行结果:
在这里插入图片描述

4、编写一个函数func(str),计算并返回字符串str中的数字、字母及其他类型字符的个数。

def count(s):
  alpha,num,space,other=0,0,0,0
  for i in s:
    if i.isalpha():
        alpha+=1
    elif i.isdigit():
        num+=1
    elif i.isspace():
        space+=1
    else:
        other+=1
  print('英文字符数{},数字字符数{},空格字符数{},其他字符数{}'.format(alpha,num,space,other))
count(input("请输入一个字符串:"))

运行结果:
在这里插入图片描述

5、编写一个函数func (str1, str2),将字符串strl中出现的字符串str2删除,然后作为函数的结果返回。

def func(str1, str2):
    str = str1.replace(str2, '')
    return str
str1 = 'asvd'
str2 = 's'
print("原字符串为:", str1)
print("所去字符串:", str2)
strResult = func(str1, str2)
print("去除特定的字符后:", strResult)

运行结果:
在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值