最近在GitHub上发现了一个python100天从新手到大师学习指南,现已有2万+star,
GitHub:https://github.com/jackfrued/Python-100-Days
在此记下学习过程中的笔记。也当作自己学习完python基础之后的查漏补缺与进阶。
for i in range(1, 10):
for j in range(1, i + 1):
print('%d*%d=%d' % (i, j, i * j), end='\t')
print()
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
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)
请输入一个正整数: 15
15不是素数
x = int(input('x = '))
y = int(input('y = '))
if x > y:
x, y = y, x
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d和%d的最大公约数是%d' % (x, y, factor))
print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
break
x = 24
y = 18
18和24的最大公约数是6
18和24的最小公倍数是72
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()
请输入行数: 5
*
**
***
****
*****
*
**
***
****
*****
*
***
*****
*******
*********
# 计算机出一个1~100之间的随机数由人来猜
# 计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)
if counter > 7:
print('你的智商余额明显不足哦~')
请输入: 50
大一点
请输入: 75
小一点
请输入: 63
大一点
请输入: 69
大一点
请输入: 73
恭喜你猜对了!
你总共猜了5次
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '不是素数')
break
else:
print(n, '是素数')
2 是素数
3 是素数
4 不是素数
5 是素数
6 不是素数
7 是素数
8 不是素数
9 不是素数
while语句的用法与for语句差不多。
try:
int('abc')
except ValueError as reason:
print('出错啦: ' + str(reason))
else:
print('没有任何异常!')
出错啦: invalid literal for int() with base 10: 'abc'
try:
int(2)
except ValueError as reason:
print('出错啦: ' + str(reason))
else:
print('没有任何异常!')
没有任何异常!
for num in range(2, 10):
if num % 2 == 0:
print('Found an even number', num)
continue
print('Found an odd number', num)
Found an even number 2
Found an odd number 3
Found an even number 4
Found an odd number 5
Found an even number 6
Found an odd number 7
Found an even number 8
Found an odd number 9