Python课堂练习

文章目录

    • 1、 用for循环来计算1+2+3...+100
    • 2、用for循环来计算1+3+5...+99
    • 3、百钱买百鸡问题(采用三重循环)
    • 4、百钱买百鸡问题2(采用三重循环)
    • 5、采用for算令狐大侠喝了多少酒
    • 6、采用for循环遍历序列(sequence)
    • 7、采用for循环遍历字典
    • 8、采用for循环打印水仙花数
    • 9、采用for循环打印水仙花数2
    • 10、打印直角三角形
    • 11、打印字符矩形
    • 12、打印字符平行四边形
    • 13、九九乘法表
    • 14、判断一个整数是不是素数

1、 用for循环来计算1+2+3…+100

  • 代码
# -*- coding: utf-8 -*-
"""
功能:用for循环来计算1+2+3...+100
作者:小小榕
日期:2021年11月11日
"""

sum = 0
for i in range(1, 101):
    sum = sum + i
print('1+2+3...+100 = {}'.format(sum))
  • 运行结果
    在这里插入图片描述

2、用for循环来计算1+3+5…+99

  • 代码
# -*- coding: utf-8 -*-
"""
功能:用for循环来计算1+3+5...+99
作者:小小榕
日期:2021年11月11日
"""

sum = 0
for i in range(1, 101,2):
    sum = sum + i
print('1 + 3 + 5 ... + 99 = {}'.format(sum))


sum = 0
for i in range(1, 101):
    if i % 2 == 1:
        sum = sum + i
    
print('1 + 3 + 5 ... + 99 = {}'.format(sum))


sum = 0
for i in range(1, 51):
    sum = sum + (2 * i - 1)
print('1 + 3 + 5 ... + 99 = {}'.format(sum))
  • 运行结果
    在这里插入图片描述

3、百钱买百鸡问题(采用三重循环)

我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

  • 代码
# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题(采用三重循环)
作者:小小榕
日期: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: {:2d} hen: {:2d} chick: {:2d}'.format(cock, hen, chick))
                count = count + 1
print('结论:总共有{}种购买方案。'.format(count))
  • 运行结果
    Python课堂练习_第1张图片

4、百钱买百鸡问题2(采用三重循环)

  • 代码
# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题2(采用三重循环)
作者:小小榕
日期: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))
  • 运行结果
    Python课堂练习_第2张图片

5、采用for算令狐大侠喝了多少酒

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for算令狐大侠喝了多少酒
作者:小小榕
日期:2021年11月11日
"""

print('令狐大侠说他喝了若干杯酒,\
杯数满足条件:三三数之剩二,\
五五数之剩三,七七数之剩二,\
问令狐大侠究竟喝了多少杯酒?')

for cups in range(1000, 0, -1):
    if cups % 3 == 2 and cups % 5 == 3 and cups % 7 == 2:
        print('朋友,令狐大侠喝了{}杯酒!'.format(cups))
        break
  • 运行结果
    在这里插入图片描述

6、采用for循环遍历序列(sequence)

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环遍历序列(sequence)
作者 :小小榕
日期:2021年11月11日
"""

# 遍历字符串
msg = '我在学习Python。'
for c in msg:
    print(c, end='\t')

print()
    

for i in range(len(msg)):
    print(msg[i], end='\t')
    
print()   

# 遍历列表
names = ['小小榕', '小小强', '李连杰', '周杰伦', '小小张']
for name in names:
    print(name, end='\t')
print()

for i in range(len(names)):
    print(names[i], end='\t')
  • 运行结果
    在这里插入图片描述

7、采用for循环遍历字典

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环遍历字典
作者:小小榕
日期:2021年11月11日
"""

cities = {'001':'北京', '002':'上海', '003':'广州','004':'深圳', '005':'成都'}

for key in cities.keys():
    print(cities[key], end='\t')
print()

for value in cities.values():
    print(value, end='\t')
print()


for key in cities.keys():
    print('{}:{}'.format(key, cities[key]))
print()

for k, v in zip(cities.keys(), cities.values()):
    print('{}: {}'.format(k, v))
  • 运行结果
    Python课堂练习_第3张图片

8、采用for循环打印水仙花数

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环打印水仙花数
作者:小小榕
日期:2021年11月11日
"""

count = 0
for n in range(100, 1000):
    p1 = n % 10
    p2 = n // 10 % 10
    p3 = n // 100
    if n == p1 **3 + p2 **3 + p3 **3:
        print('{} = {}^3 + {}^3 + {}^3'.format(n, p3, p2, p1))
  • 运行结果
    在这里插入图片描述

9、采用for循环打印水仙花数2

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环打印水仙花数2
作者:小小榕
日期:2021年11月11日
"""

count = 0
for n in range(100, 1000):
    m = n 
    p1 = m % 10 # 个位数
    m = m // 10
    p2 = m % 10 # 十位数
    m = m // 10
    p3 = m      # 百位数
    if p3 **3 + p2 **3 + p1 **3 == n:
        print('{}^3 + {}^3 + {}^3 = {}'.format(p3, p2, p1, n))
        count = count + 1
print('总共有{}个水仙花数。'.format(count))    


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

10、打印直角三角形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印直角三角形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))


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

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

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


for i in range(row):
    for j in range(i):
        print(' ', end='')
    for j in range(row - i - 1):
        print('*', end='')
    print()
  • 运行结果
    Python课堂练习_第4张图片

11、打印字符矩形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印字符矩形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))
col = int(input('col = ')) #column

for i in range(row):
    for j in range(col):
        print('*', end=' ')
    print()
  • 运行结果
    Python课堂练习_第5张图片

12、打印字符平行四边形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印字符平行四边形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))
col = int(input('col = '))
# 右倾平行四边形
for i in range(row):
    for j in range(row - i - 1):
        print(' ', end='')
    for j in range(col):
        print('*', end='')
    print()

# 左倾平行四边形
for i in range(row):
    for j in range(i):
        print(' ', end='')
    for j in range(col):
        print('*', end='')
    print()
  • 运行结果
    Python课堂练习_第6张图片

13、九九乘法表

  • 代码
# -*- coding: utf-8 -*-
"""
功能:九九乘法表
作者:小小榕
日期:2021年11月11日
"""

for i in range(1, 10):
    for j in range(1, i + 1):
        print('{} * {} = {}'.format(i, j, i * j), end='\t')
    print()
  • 运行结果
    Python课堂练习_第7张图片

14、判断一个整数是不是素数

  • 代码
# -*- coding: utf-8 -*-
"""
功能:判断一个整数是不是素数
作者:小小榕
日期:2021年11月11日
"""

from math import sqrt


n = int(input('输入一个整数:'))

is_prinme_nimber = True
for i in range(2, int(sqrt(n) + 1)):
    if n % i == 0:
        is_prinme_nimber = False
        break

if n == 1:
    print('{}既不是素数,也不是合数。'.format(n))
elif is_prinme_nimber:
    print('{}是素数。'.format(n))
else:
    print('{}是合数。'.format(n))
  • 运行结果
    Python课堂练习_第8张图片

你可能感兴趣的:(Python,python)