Python编程基础篇之条件判断和循环控制

Python编程基础篇之条件判断和循环控制


一、顺序执行

在这里插入图片描述

二、程序主入口

在这里插入图片描述

三、条件判断

1. 条件判断

在这里插入图片描述

2.条件判断嵌套

在这里插入图片描述

四、循环控制

1. 循环控制介绍

在这里插入图片描述

2. while循环表达式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

i = 1								# 初始化行
while i <= 3:						# 控制外层循环
    j = 1							# 初始化列
    while j <= i:					# 控制内层循环
        print('*', end='')			# 打印每行的*
        j += 1						# 列自增量,保证内层循环有边界
    print()							# 换行
    i += 1							# 行自增量,保证外层循环有边界

3. for循环表达式

在这里插入图片描述
注意:
for循环中的break和continue语句与while循环中的作用完全一致。

练习

1. 求1000以内所有的水仙花数。水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

def get_Narcissistic_number():
    i = 100
    while i < 1000:
        # 法一:利用数学运算分别获取百位数、十位数、个位数
        # hundred_digit = i // 100
        # ten_digit = i // 10 % 10
        # single_digit = i % 100 % 10
        # if i == hundred_digit ** 3 + ten_digit ** 3 + single_digit ** 3:
        #     print(f'{i}是水仙花数')

        # 法二:将数字i强转为字符串分别获取百位数、十位数、个位数
        hundred_digit = int(str(i)[0])
        ten_digit = int(str(i)[1])
        single_digit = int(str(i)[2])
        if i == hundred_digit ** 3 + ten_digit ** 3 + single_digit ** 3:
            print(f'{i}是水仙花数')
        i += 1

if __name__ == '__main__':			# 程序主入口
    get_Narcissistic_number()

2. 打印 9x9乘法表

def multiple_table():
    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print(f'{i} x {j} = {i * j}\t', end='')
            j += 1
        print()
        i += 1

if __name__ == '__main__':
    multiple_table()

3. 获取用户输入的任意数,判断其是否是质数?

def is_prime_number(n):
    i = 2
    while i < int(n/2+1):
        if n % i == 0:
            print('该数不是质数')
            break
        else:
            i += 1
    else:								# else从句用于判断质数
        print('该数是质数')

if __name__ == '__main__':
    n = eval(input('请任意输入一个阿拉伯数字:'))
    is_prime_number(n)

4. 猜拳游戏

• 出拳 玩家:手动输入 电脑:随机输入
• 判断输赢: 玩家获胜 电脑获胜 平局

import random

def guess_game(n):
    r = random.randint(1, 5)
    print(f'玩家输入的是{n},电脑输入的是{r}')
    if n > r:
        print('玩家获胜')
    elif n == r:
        print('平局')
    else:
        print('电脑获胜')

if __name__ == '__main__':
    n = eval(input('请输入一个1到5的阿拉伯数字:'))
    guess_game(n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值