前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[重学Python]Day 2 Python经典案例简单习题6个

[重学Python]Day 2 Python经典案例简单习题6个

原创
作者头像
李鹏华
发布2024-04-15 18:46:23
1170
发布2024-04-15 18:46:23

[重学Python]Day 2 Python经典案例简单习题6个

项目链接:https://github.com/jackfrued/Python-100-Days

一、寻找水仙花数

说明:水仙花数是一个三位数,该数字每位上数字的立方之和正好等于它本身,例如:$1^3 + 5^3+ 3^3=153。

代码语言:javascript
复制
for x in range(100,1000):
    low = x % 10
    mid = x // 10 % 10
    high = x // 100
    if x == low ** 3 + mid ** 3 + high ** 3:
        print(x)

二、百钱百鸡

说明:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

代码语言:javascript
复制
for x in range(0,20):
    for y in range(0,33):
        z = 100 - x - y
        if x * 5 + y * 3 + z / 3 == 100:
            print('公鸡数量: %d ,母鸡数量: %d,小鸡数量: %d'% (x , y , z))

三、CRAPS赌博游戏

说明:CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。

代码语言:javascript
复制
 from random import randint
   
   money = 1000
   while money > 0:
       print('你的总资产为:', money)
       needs_go_on = False
       while True:
           debt = int(input('请下注: '))
           if 0 < debt <= money:
               break
       first = randint(1, 6) + randint(1, 6)
       print('玩家摇出了%d点' % first)
       if first == 7 or first == 11:
           print('玩家胜!')
           money += debt
       elif first == 2 or first == 3 or first == 12:
           print('庄家胜!')
           money -= debt
       else:
           needs_go_on = True
       while needs_go_on:
           needs_go_on = False
           current = randint(1, 6) + randint(1, 6)
           print('玩家摇出了%d点' % current)
           if current == 7:
               print('庄家胜')
               money -= debt
           elif current == first:
               print('玩家胜')
               money += debt
           else:
               needs_go_on = True
   print('你破产了, 游戏结束!')

四、生成斐波那契数列的前20个数

说明:斐波那契数列(Fibonacci sequence),又称黄金分割数列,是意大利数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)在《计算之书》中提出一个在理想假设条件下兔子成长率的问题而引入的数列,所以这个数列也被戏称为"兔子数列"。斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,形如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...。斐波那契数列在现代物理、准晶体结构、化学等领域都有直接的应用。

代码语言:javascript
复制
a = 0
b = 1
for _ in range(20):
    a, b = b, a + b
    print(a, end=' ')

五、找出10000以内的完美数

说明:完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6(6=1+2+3)和28(28=1+2+4+7+14)就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。

代码语言:javascript
复制
import math
​
for num in range(2, 10000):
    result = 0
    for factor in range(1, int(math.sqrt(num)) + 1):
        if num % factor == 0:
            result += factor
            if factor > 1 and num // factor != factor:
                result += num // factor
    if result == num:
        print(num)

六、输出100以内所有的素数

说明:素数指的是只能被1和自身整除的正整数(不包括1)

代码语言:javascript
复制
import math
​
for num in range(2, 100):
    is_prime = True
    for factor in range(2, int(math.sqrt(num)) + 1):
        if num % factor == 0:
            is_prime = False
            break
    if is_prime:
        print(num, end=' ')
​

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • [重学Python]Day 2 Python经典案例简单习题6个
  • 一、寻找水仙花数
  • 二、百钱百鸡
  • 三、CRAPS赌博游戏
  • 四、生成斐波那契数列的前20个数
  • 五、找出10000以内的完美数
  • 六、输出100以内所有的素数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档