常见算法
This commit is contained in:
parent
0a402d64a9
commit
8bcf1a53ac
@ -88,103 +88,4 @@ if counter > 7:
|
|||||||
|
|
||||||
上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
|
上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
|
||||||
|
|
||||||
## 常见循环示例
|
|
||||||
|
|
||||||
### 九九乘法表
|
|
||||||
|
|
||||||
```
|
|
||||||
"""
|
|
||||||
输出乘法口诀表(九九表)
|
|
||||||
|
|
||||||
Version: 0.1
|
|
||||||
Author: 骆昊
|
|
||||||
"""
|
|
||||||
|
|
||||||
for i in range(1, 10):
|
|
||||||
for j in range(1, i + 1):
|
|
||||||
print('%d*%d=%d' % (i, j, i * j), end='\t')
|
|
||||||
print()
|
|
||||||
```
|
|
||||||
|
|
||||||
### 判断是不是素数
|
|
||||||
|
|
||||||
```
|
|
||||||
"""
|
|
||||||
输入一个正整数判断它是不是素数
|
|
||||||
|
|
||||||
Version: 0.1
|
|
||||||
Author: 骆昊
|
|
||||||
Date: 2018-03-01
|
|
||||||
"""
|
|
||||||
from math import sqrt
|
|
||||||
|
|
||||||
num = int(input('请输入一个正整数: '))
|
|
||||||
end = int(sqrt(num))
|
|
||||||
is_prime = True
|
|
||||||
for x in range(2, end + 1):
|
|
||||||
if num % x == 0:
|
|
||||||
is_prime = False
|
|
||||||
break
|
|
||||||
if is_prime and num != 1:
|
|
||||||
print('%d是素数' % num)
|
|
||||||
else:
|
|
||||||
print('%d不是素数' % num)
|
|
||||||
```
|
|
||||||
|
|
||||||
### 打印三角形图案
|
|
||||||
|
|
||||||
```
|
|
||||||
*
|
|
||||||
**
|
|
||||||
***
|
|
||||||
****
|
|
||||||
*****
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
*
|
|
||||||
**
|
|
||||||
***
|
|
||||||
****
|
|
||||||
*****
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
*
|
|
||||||
***
|
|
||||||
*****
|
|
||||||
*******
|
|
||||||
*********
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
"""
|
|
||||||
打印三角形图案
|
|
||||||
|
|
||||||
Version: 0.1
|
|
||||||
Author: 骆昊
|
|
||||||
"""
|
|
||||||
|
|
||||||
row = int(input('请输入行数: '))
|
|
||||||
for i in range(row):
|
|
||||||
for _ in range(i + 1):
|
|
||||||
print('*', end='')
|
|
||||||
print()
|
|
||||||
|
|
||||||
|
|
||||||
for i in range(row):
|
|
||||||
for j in range(row):
|
|
||||||
if j < row - i - 1:
|
|
||||||
print(' ', end='')
|
|
||||||
else:
|
|
||||||
print('*', end='')
|
|
||||||
print()
|
|
||||||
|
|
||||||
for i in range(row):
|
|
||||||
for _ in range(row - i - 1):
|
|
||||||
print(' ', end='')
|
|
||||||
for _ in range(2 * i + 1):
|
|
||||||
print('*', end='')
|
|
||||||
print()
|
|
||||||
```
|
|
||||||
|
|
||||||
|
203
docs/算法/常见算法.md
Normal file
203
docs/算法/常见算法.md
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
---
|
||||||
|
id: 常见代码
|
||||||
|
title: 常见代码
|
||||||
|
sidebar_position: 3
|
||||||
|
data: 2022年1月27日
|
||||||
|
---
|
||||||
|
## 九九乘法表
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
输出乘法口诀表(九九表)
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
|
||||||
|
for i in range(1, 10):
|
||||||
|
for j in range(1, i + 1):
|
||||||
|
print('%d*%d=%d' % (i, j, i * j), end='\t')
|
||||||
|
print()
|
||||||
|
```
|
||||||
|
|
||||||
|
## 判断是不是素数
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
输入一个正整数判断它是不是素数
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
Date: 2018-03-01
|
||||||
|
"""
|
||||||
|
from math import sqrt
|
||||||
|
|
||||||
|
num = int(input('请输入一个正整数: '))
|
||||||
|
end = int(sqrt(num))
|
||||||
|
is_prime = True
|
||||||
|
for x in range(2, end + 1):
|
||||||
|
if num % x == 0:
|
||||||
|
is_prime = False
|
||||||
|
break
|
||||||
|
if is_prime and num != 1:
|
||||||
|
print('%d是素数' % num)
|
||||||
|
else:
|
||||||
|
print('%d不是素数' % num)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 打印三角形图案
|
||||||
|
|
||||||
|
```python
|
||||||
|
*
|
||||||
|
**
|
||||||
|
***
|
||||||
|
****
|
||||||
|
*****
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
*
|
||||||
|
**
|
||||||
|
***
|
||||||
|
****
|
||||||
|
*****
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
*
|
||||||
|
***
|
||||||
|
*****
|
||||||
|
*******
|
||||||
|
*********
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
打印三角形图案
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
|
||||||
|
row = int(input('请输入行数: '))
|
||||||
|
for i in range(row):
|
||||||
|
for _ in range(i + 1):
|
||||||
|
print('*', end='')
|
||||||
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
for i in range(row):
|
||||||
|
for j in range(row):
|
||||||
|
if j < row - i - 1:
|
||||||
|
print(' ', end='')
|
||||||
|
else:
|
||||||
|
print('*', end='')
|
||||||
|
print()
|
||||||
|
|
||||||
|
for i in range(row):
|
||||||
|
for _ in range(row - i - 1):
|
||||||
|
print(' ', end='')
|
||||||
|
for _ in range(2 * i + 1):
|
||||||
|
print('*', end='')
|
||||||
|
print()
|
||||||
|
```
|
||||||
|
|
||||||
|
## 寻找水仙花数
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
找出所有水仙花数
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
|
||||||
|
for num in range(100, 1000):
|
||||||
|
low = num % 10
|
||||||
|
mid = num // 10 % 10
|
||||||
|
high = num // 100
|
||||||
|
if num == low ** 3 + mid ** 3 + high ** 3:
|
||||||
|
print(num)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 数字反转
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
正整数的反转
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
|
||||||
|
num = int(input('num = '))
|
||||||
|
reversed_num = 0
|
||||||
|
while num > 0:
|
||||||
|
reversed_num = reversed_num * 10 + num % 10
|
||||||
|
num //= 10
|
||||||
|
print(reversed_num)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 百钱百鸡
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
《百钱百鸡》问题
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
|
||||||
|
for x in range(0, 20):
|
||||||
|
for y in range(0, 33):
|
||||||
|
z = 100 - x - y
|
||||||
|
if 5 * x + 3 * y + z / 3 == 100:
|
||||||
|
print('公鸡: %d只, 母鸡: %d只, 小鸡: %d只' % (x, y, z))
|
||||||
|
```
|
||||||
|
|
||||||
|
## CRAPS赌博游戏
|
||||||
|
|
||||||
|
```python
|
||||||
|
"""
|
||||||
|
Craps赌博游戏
|
||||||
|
我们设定玩家开始游戏时有1000元的赌注
|
||||||
|
游戏结束的条件是玩家输光所有的赌注
|
||||||
|
|
||||||
|
Version: 0.1
|
||||||
|
Author: 骆昊
|
||||||
|
"""
|
||||||
|
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('你破产了, 游戏结束!')
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue
Block a user