跳转语句学习

break语句

# -*- coding: utf-8 -*-
"""
功能:采用for循环破解令狐大侠难题一完善 版
作者:cxf
日期:2021年11月11日
"""
print('令狐大侠说他喝了若干杯酒,\
杯数满足条件:三三数之剩二,\
五五数之剩三,七七数之剩二,\
问令狐大侠究竟喝了多少杯酒? ')
for cups in range(1, 100):
    if cups % 3 == 2 and cups % 5 == 3 and cups % 7 == 2:
        print('朋友,令狐大侠喝了{}杯酒! '.format(cups))
        break

猜出一次就跳出循环

判断一个整数是否为素数

小知识:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

# -*- coding: utf-8 -*-
"""
# -*- coding: utf-8 -*-
"""
功能:判断一个整数是否为素数
作者:cxf
日期:20211111"""
from math import sqrt
n = int(input('输入一个整数:'))

is_prine_number = True # 是素数
for i in range(2,int(sqrt(n)+ 1)):
    if n % i == 0:
        is_prine_number = False # 不是素数
        break
    
if n == 1:
    print('{}既不是素数,也不是合数。'.format(n))
elif is_prine_number:
    print('{}是素数。'.format(n))
else:
    print('{}是合数。'.format(n))

循环嵌套

打印字符矩形

# -*- coding: utf-8 -*-
"""
功能:打印字符矩形
作者:cxf
日期:2021年11月11日
"""
row = int(input('row = ')) # 行
col = int(input('col = ')) # 列

for i in range(row):
    for j in range(col):
        print('*',end = '')
    print()

打印字符平行四边形

# -*- coding: utf-8 -*-
"""
功能:打印字符平行四边形
作者:cxf
日期:2021年11月11日
"""
row = int(input('row = ')) # 行
col = int(input('col = ')) # 列

# 右倾平行四边形
for i in range(row):
    #打印前导空格
    for i in range(row - i - 1):
        print(' ', end='')
        # 打印星号
    for j in range(col):
        print('*',end= '')
    print()

在这里插入图片描述

# -*- coding: utf-8 -*-
"""
功能:打印字符平行四边形
作者:cxf
日期:2021年11月11日
"""
row = int(input('row = ')) # 行
col = int(input('col = ')) # 列

# 左倾平行四边形
for i in range(row):
    #打印前导空格
    for i in range(row + i):
        print(' ', end='')
        # 打印星号
    for j in range(col):
        print('*',end= '')
    print()

在这里插入图片描述

# -*- coding: utf-8 -*-
"""
功能:打印字符平行四边形
作者:cxf
日期:2021年11月11日
"""
row = int(input('row = ')) # 行
col = int(input('col = ')) # 列

# 右倾平行四边形
for i in range(row):
    #打印前导空格
    for i in range(row - i - 1):
        print(' ', end='')
        # 打印星号
    for j in range(col):
        print('*',end= '')
    print()
    
# 左倾平行四边形
for i in range(row):
    #打印前导空格
    for i in range( i):
        print(' ', end='')
        # 打印星号
    for j in range(col):
        print('*',end= '')
    print()

在这里插入图片描述

直角三角形

# -*- coding: utf-8 -*-
"""
功能:打印字符直角三角形
作者:cxf
日期:2021年11月11日
"""

row = int(input('row = ')) # 行

for i in range(row):
    #负责打印前导空格
    for j in range(row - i -1):
        print(' ',end= '')
    # 负责打印星号
    for j in range(i):
        print('*', end='')
    print()

在这里插入图片描述

打印九九乘法表

# -*- coding: utf-8 -*-
"""
功能:打印九九乘法表
作者:cxf
日期:2021年11月11日
"""

for i in range(1,10):
    for j in range(1,i + 1):
        print('{} x {} = {}'.format(i, j, i*j), end ='\t')
    print()

在这里插入图片描述

百钱买百鸡

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

需要定义三个整型变量cock, hen, chick,分别代表公鸡、母鸡和小鸡的购买数量。
有两方面的条件:关于钱的条件与关于鸡的条件

# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题(采用三重循环)
作者:cxf
日期:2021年11月11日
"""
count = 0
for cock in range(21):
    for hen in range(34):
        for chick in range(101):
            if cock + hen + chick == 100 and cock * 5 + hen * 3 + chick / 3 == 100:
                print('cock:{}\t hen :{}\t chick :{}'.format(cock, hen ,chick))
                count = count + 1
print("结论:总共有{}种购买方案。".format(count))

在这里插入图片描述
优化方案

# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题
作者:cxf
日期:2021年11月11日
"""
count = 0
for cock in range(21):
    for hen in range(34):
       chick = 100 - cock - hen
       if cock * 5 + hen * 3 + chick / 3 == 100:
           print('cock:{:2d} hen :{:2d} chick :{:2d}'.format(cock, hen ,chick))
           count = count + 1
print("结论:总共有{}种购买方案。".format(count))

猜你喜欢

转载自blog.csdn.net/qq_62590351/article/details/121272262