学python的第六天

一些小练习

1,计算水仙花数(while循环和for循环求法)

# 1,计算水仙花数,水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身
# 计算水仙花数是一个三位数,三位数各位的立方之和等于三位数本身
# while循环求法
i = 100;
r = 0;
s = 0;
t = 0
while i < 1000:
    r = i // 100
    s = (i - r * 100) // 10
    t = i - r * 100 - s * 10
    if i == (r ** 3 + s ** 3 + t ** 3):
        print(f'水仙花数为:{i}')

    i += 1


# for循环求法
def shuixianhua():
    for i in range(100, 1000):
        r = i // 100
        s = (i // 10) % 10
        t = i % 10
        num = r ** 3 + s ** 3 + t ** 3
        if num == i:
            print('水仙花数为:{}'.format(i))


shuixianhua()

2,猜大小

# 2,猜大小 (由AI改编)
import random


def roll_dice(numbers=3):
    points = []
    for _ in range(numbers):
        point = random.randrange(1, 7)
        points.append(point)
    return points


def roll_result(total):
    return 'Big' if 11 <= total <= 18 else 'Small'


def start_game():
    balance = 1000  # 初始金额
    odds = 1  # 默认赔率
    bet = 0  # 初始下注金额为0

    while balance > 0:
        print('<<<<<<<  猜大小游戏 >>>>>>>')
        print(f'当前余额:{balance}')
        print('请输入下注金额(余额为0时游戏结束):', end=' ')
        bet_input = input()
        if bet_input.lower() == '0':
            print('游戏结束,感谢您的参与!')
            break
        try:
            bet = int(bet_input)
            if bet > balance:
                print('下注金额超过余额,请重新输入!')
                continue
        except ValueError:
            print('请输入有效的数字作为下注金额!')
            continue

        print('请输入Big or Small:', end=' ')
        your_choice = input()
        if your_choice not in ['Big', 'Small']:
            print('无效输入,请重新输入!')
            continue

        points = roll_dice()
        total = sum(points)
        result = roll_result(total)

        print(f'投掷结果为:{points} = {total}')

        if your_choice == result:
            win_amount = bet * odds
            balance += win_amount
            print(f'你赢了!赢得金额:{win_amount},当前余额:{balance}')
        else:
            balance -= bet
            print(f'你输了!扣除下注金额:{bet},当前余额:{balance}')

        # 开始游戏


start_game()

3,查找数字

# 3,查找数字,可以被7整除,但不能是5的倍数,在1000-3000之间,包含1000和3000,获得的数字打印在一行上,用逗号隔开
# 使用for循环
a = []
for i in range(1000, 3001):
    if i % 7 == 0 and (i % 5 != 0):
        a.append(str(i))
# print(','.join(a))
print(f'{a}')

4,计算某个数字的阶乘

# 4,计算数字阶乘
# 使用while循环
n = int(input('请输入想要计算的数字:'))
a = 1
i = 1
while i <= n:
    a = a * i
    i += 1
print(a)

# 使用for循环
n = int(input('请输入想要计算的数字:'))
a = 1
for i in range(1,n+1):
    a = a * i
print(a)

后续会继续补充其他!

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WBY·~阿崟呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值