# -*- 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))
# -*- 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))
我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: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))
# -*- 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))
# -*- 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
# -*- 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')
# -*- 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))
# -*- 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))
# -*- 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))
# -*- 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()
# -*- 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()
# -*- 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()
# -*- 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()
# -*- 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))