语法结构
while (循环条件):
循环体 (要注意缩进)
举个例子,计算100以内的奇数和
sum = 0 #给sum赋初值
n = 1 #给n赋初值
while n < 100: #判断当n小于100时,执行循环体
sum += n #循环计算sum加n
n += 2 #同上
print(sum) #输出sum的最终值
打印一个递增的 “ * ”图案
layer = int(input("请输入要打印的行数:"))
index = 1 #用来执行至与行数相同的次数所设的值
while index <= layer:
j = 1 #从第一行开始,每行*的个数
while j <= index: #嵌套循环
print("*",end="") #end=“”表示不换行
j += 1
print()
index += 1
(这里仅介绍 for in 类型 )
for in 是用来遍历容器的一种循环(这里的容器一般为可迭代对象)
结构为
for 变量名 in 容器:
循环体
在循环体中添加:
break #表示结束循环
continue #继续循环
容器是python中的一种数据类型,常用的容器函数为 range()
range()常见两种格式:
sum = 0
for i in range(0,101,2): #从0开始,步长为2,遍历到101是为了包含100在内
sum += i
print("0~100内偶数和是:",sum)
打印等腰三角形(其实是属于找规律类型,行数,空格数,*数,逐级循环),每行先计算空格数在计算 * 的数量
*的数量 | 行数 | 空格数 | * |
---|---|---|---|
* | 1 | 3 | 1 |
*** | 2 | 2 | 3 |
***** | 3 | 1 | 5 |
********* | 4 | 0 | 7 |
layer = int(input("请输入你要打印的行数:"))
for i in range(1,layer+1): #因为是前闭后开,所以要+1
#计算空格的个数
space= layer - i
for j in range(0,space):
print(" ",end="")
#计算*个数
star = 2*i-1
for j in range(0,star):
print("*",end="")
print("")
import random
print("猜一猜电脑里存储的数字(0-100)")
num = int(input("请输入你猜的数字:"))
pcnum = random.randrange(1,100)
print(pcnum)
while num < pcnum:
print("你猜的数过小")
num = int(input("请重新输入:"))
while num > pcnum:
print("你猜的数过大")
num = int(input("请重新输入:"))
if pcnum == num:
print("你猜对了")
n1,n2 = map(int,input("请输入两个整数:").split())
if n1 > n2: #min 可以比较两个数中小的数
num = n2
else:
num = n1
for i in range(1,num+1):
if n1 % i == 0 and n2 % i == 0:
gcd = i
print("它们的最大公约数为%s" %gcd)
import random
num = 0
for i in range(0,1000000):
x = random.uniform(-1,1) #random()------产生的0-1之间的数
y = random.uniform(-1,1)
if (x**2+y**2)**0.5 <= 1:
num += 1
else:
num += 0
pai = 4*num/1000000
print("pai的值是:"+str(pai))
num = 0
j = 0
n = 0
sum = 0
average = 0
for i in range(0,100):
num = int(input("请输入一个整数(输入0结束输入):"))
if num == 0:
break
while num > 0:
j += 1
break
while num < 0:
n += 1
break
sum += num
average = sum / i
print("\n这些数字中有%s个正数" %j)
print("这些数字中有%s个负数" %n)
print("他们的和为:%s" %sum)
print("平均值为:%.2f" %average)
num = int(input("请输入一个整数:"))
while num != 1:
flag = True #循环是否正常
for i in range(2,num // 2+1):
if num % i == 0:
print(i,end=", ")
num = num // i
flag = False
break
if flag:
print(num,end="")
break
num = int(input("请输入一个数(1-15):"))
for i in range(1,num+1):
for j in range(0,num - i): #计算空格的个数
print(" ",end=" ")
for j in range(i,0,-1): #计算数字的个数
print(j,end=" ")
for j in range(2,i+1): #计算右边循环的数字
print(j,end=" ")
print()
A
num = int(input("请输入行数:"))
for i in range(1,num+1):
num_num = i+1 #计算每行数字的个数
for j in range(1,num_num):
print(j,end=" ")
print()
B
num = int(input("请输入行数:"))
for i in range(num+1,1,-1):
num_num = i #计算每行数字的个数
for j in range(1,num_num):
print(j,end=" ")
print()
C
num = int(input("请输入行数:"))
for i in range(1,num+1):
space_num = num - i #计算空格的个数
for j in range(0,space_num):
print(" ",end=" ")
num_num = i #计算数字的个数
for j in range(num_num,0,-1):
print(j,end=" ")
print()
D
num = int(input("请输入行数:"))
for i in range(1,num+1):
space_num = i-1 #计算空格的个数
for j in range(0,space_num):
print(" ",end=" ")
num_num = num+1-i #计算数字的个数
for j in range(1,num_num+1):
print(j,end=" ")
print()
num = int(input("请输入行数:"))
for i in range(1,num+1):
space_num = num-i #计算空格的个数
for j in range(0,space_num):
print(" ",end=" ")
num_num = i #计算数字的个数
for j in range(0,num_num):
num_power = j #计算2的n-1次方
print(2**num_power,end=" ")
num_agan = i+1 #计算右边循环的数字
for j in range(num_agan,2,-1):
num_power = j-3 #计算2的n-1次方
print(2**num_power,end=" ")
print()
num = int(input("请输入10000,20000,......,100000其中一个:"))
pai = 0
for i in range(0,num):
i += 1
a = 4 * ((-1)**(i+1) / (2*i-1))
pai += a #求i等于输入数值时的和
print(pai)
num = int(input("请输入10000,20000,......,100000其中一个:"))
item = 1
e = 1
for i in range(0,num):
i += 1
for j in range(0,i):
j += 1
item *= j
a = 1 / item
e += a
print(e)
num_num = int(input("输入数据的个数:\n"))
a = 1
while a <= num_num:
num = int(input('请输入第{}个数:'.format(a))) #字符串中的方法
if a == 1: #这句一定会执行,而且只执行一次,目的就是让你输入的第一个数作为根据与之后的数比较
max = min = num #第二个及以后的数都会走else,
else: #第一次走else时,比较中的min和max都是你第一次输入的数,以后走else就不一定了
if num < min:
min = num
elif num > max:
max = num
a += 1
print('最大数据是:', max)
以上题目的代码非最优代码,可根据自己理解加以改进,如有错误敬请指正!感谢!