用for循环实现1~100求和(for 循环适用于明确知道循环次数的场景)
range(101) : 0~100
range(1,101) : 1~100
range(1,101,2) :1,3,5……99 ,1~100的奇数,2是步长
range(100,0,-2):100,98,96,2,100~1的偶数,-2是步长
"""
# for 循环适用于明确知道循环次数的场景
# 用for循环实现1~100求和
sum = 0
for i in range(101):
sum += i
print(sum)
用for循环实现1~100之间偶数求和
sum = 0
for i in range(0,101,2):
sum += i
print(sum)
sum = 0
for j in range(100,0,-2):
if j % 2 == 0:
sum += j
print(sum)
用while实现1~100之间偶数求和
sum,num = 0,2
while num <= 100:
sum += num
num += 2
print(sum)
骰子游戏
import random
answer = random.randint(1,100)
count = 0
while True:
count += 1
if count > 7:
print('你已经猜了%d次' % count)
print('你的智商余额不足,请及时充值!')
break
number = int(input('请输入1~100之间一个数字:'))
if number < answer:
print('你猜小了')
elif number > answer:
print('你猜大了')
else:
print('恭喜你猜对了!')
break
输入一个整数判断是不是素数(素数指只能被1和自身整除的大于1的整数)
from math import sqrt
num = int(input('请输入一个正整数:'))
end = int(sqrt(num)) # num开平方根
is_sushu =True
for x in range(2,sqrt(num)):
if num % x == 0:
is_sushu = False
break
if is_sushu and num !=1:
print('%d是素数' %num)
else:
print('%d不是素数' %num)
#输入两个正整数,计算它们的最大公约数和最小公倍数
x = int(input('x='))
y = int(input('y='))
# 如果x大于y则交换x和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
打印如下三角形
row = int(input('请输入行数:'))
for i in range(row):
for _ in range(i + 1): # for _ in ……中_为占位符,可以替换任意字符
print('*',end=' ') # end=''为末尾不换行,加空格
print() # 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=' ') # 每行为2i+1个星星
print()