Python-100-Days学习记录
原项目地址:https://github.com/jackfrued/Python-100-Days
Day3
练习
- 英制单位与公制单位互换
"""
英寸和厘米互换
"""
value = float(input('请输入长度:'))
unit = input('请输入单位:')
if unit == 'in' or unit == '英寸':
print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
print('请输入有效单位')
if expression:
xxx
elif expression:
xxx
…
else:
xxx
- 掷骰子决定做什么
"""
掷骰子决定做什么事情
"""
from random import randint
face = randint(1, 6)
if face == 1:
result = 'singing'
elif face == 2:
result = 'dancing'
elif face == 3:
result = 'barking'
elif face == 4:
result = 'exercising'
elif face == 5:
result = 'joking'
else:
result = 'running'
print(result)
from random import randint
face = randint(1, 6)
因为都很基础所以没有全做,记录一下有必要的知识点:
(1)print() 使用占位符时可以限定变量的数据类型,所以在除字符以外的情况使用占位符较多
(2)math.sqrt() 计算平方根
(3)python内置abs() 函数取绝对值
Day4
练习
- 判断素数
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)
- 输入两个整数,计算最大公约数和最小公倍数
x = int(input('x = '))
y = int(input('y = '))
if x > y:
x, y = y, x # 第一个数小于第二个数
for factor in range(x, 0, -1): # 从较小的数往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
- 打印三角形图案
row = int(input('请输入行数:'))
for i in range(row):
for j in range(i + 1):
print('*', end = '') # print字符串默认以换行符结尾,所以不设置end = ''的话会全部竖排打印
print() # 不换行的话全部横排打印,每输出完一行就打印换行符
print()
for i in range(row):
for j in range(row - i - 1):
print(' ', end = '')
for k in range(i + 1):
print('*', end = '')
print()
print()
for i in range(row):
for j in range(row - i - 1):
print(' ', end = '')
for k in range(2 * i + 1):
print('*', end = '')
print()
print()