range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
sum = 0
for x in range(101):
sum+=x
print(sum)
sum = 0
for x in range(2,101,2):
sum+=x
print(sum)
random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random
answer = random.randint(1,100) #[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('你是笨蛋~')
for i in range(1,10):
for j in range(1,i+1):
print('%d * %d = %d' % (i,j,i*j),end='\t')
print()
Q:import math和from math import *有什么区别?
A:第二个是引入math库的所有内容,在使用时就不需要math.功能函数了,可以直接写相应功能函数。第一个就是简单的说明引入库
image.png
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)
最大公约数和最小公倍数:
最大公约数:能够整除的数中最大的一个
最小公倍数:两数的乘积//最大公约数
5.0/2=2.5
5.0//2=2.0
x = int(input('x = '))
y = int(input('y = '))
if x>y:
x,y=y,x #交换,使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
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()
image.png
image.png
image.png