1.分析程序
numbers=1
for i in range(0,20):
numbers*=2
print(numbers)
分析:定义变量numbers的初始值为1;
通过range进行for循环,分别通过从0开始到20进行20次循环并对i进行赋值。
在每次循环中将numbers赋值为原来的2倍。
eg.第一次循环:i = 0; numbers = numbers * 2 = 12 = 2
第二次循环:i = 1; numbers = numbers * 2 = 22 = 4
第三次循环:i = 2; numbers = numbers * 2 = 4*2 = 8
。。。
直到第20次循环结束,并打印numbers的值。
2.summation=0
num=1
while num<=100:
if (num%3==0 or num%7==0) and num%21!=0:
summation += 1
num+=1
print(summation)
分析:定义变量summation初始值为0;
定义num的初始值为1.
通过while进行循环,条件是num小于等于100.
在while循环中进行if条件判断:如果满足条件:num的值能被3整除或者能被7整除 而且 sum的值不能被21整除的话,
就开始summation加1的操作。
最后在一次循环后增加num的值一次,由于while的条件是小于等于100,所以该循环将执行100次,直到超出100.
最后打印summation的值,实现对100数以内的所有满足条件的个数的计数。
编程实现(for和while各写⼀一遍):
- 求1到100之间所有数的和、平均值
- 计算1-100之间能3整除的数的和
- 计算1-100之间不不能被7整除的数的和
# 1.求1到100之间所有数的和、平均值
# way1:
num = 0
for i in range(1,101):
num += i
print(num, num/100)
# way2:
i = 0
num = 0
while i <= 100:
num += i
i += 1
print(num, num/100)
# 2.计算1-100之间能3整除的数的和
# way1
num = 0
for i in range(1, 101):
if i % 3 == 0:
num += i
print(num)
# way2
num = 0
i = 1
while i <= 100:
if i % 3 == 0:
num += i
i += 1
print(num)
# 3.计算1-100之间不不能被7整除的数的和
i = 1
sum = 0
for i in range(1, 101):
if i % 7 != 0:
sum += i
print(sum)
i = 1
sum = 0
while i <=100:
if i % 7 != 0:
sum += i
i += 1
print(sum)
1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
2.计算5的阶乘 5!的结果是
3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。
7.输入三个整数x,y,z,请把这三个数由小到大输出。
8.控制台输出三角形
# day4-提高
# 1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
"""
age = int(input("请输入N:"))
if age < 14:
print('儿童')
elif age <=18:
print("未成年")
elif age <= 35:
print("成年人")
elif age <= 50:
print("青壮年")
else:
print("老年人")
# 2.计算5的阶乘 5!的结果是
sum2 = 1#阶乘
for num in range(1,6):
sum2 *=num
print(sum2)
# 3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘
sum1 = 0
sum2 = 1
for num in range(1,21):
sum2 *=num
sum1 +=sum2
print(sum1)
# 4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
sum1 = 0
sum2 = 1
sum3 = 0
for num in range(2,21):
sum2 *=num
sum3 = 1/sum2
sum1 +=sum3
print(1+sum1)
# 5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
value = int(input("请输入大于0的数字:"))
sum = 0
while value >0:
sum += value
value = int(input("请输入大于0的数字:"))
print(sum)
# 6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
# 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
# 1.程序分析:关键是计算出每一项的值。
# 7.输入三个整数x,y,z,请把这三个数由小到大输出。
x = int(input("x:"))
y = int(input("y:"))
z = int(input("z:"))
if x<y<z:
print(x,y,z)
if x<z<y:
print(x,z,y)
if y<z<x:
print(y,z,x)
if y < x < z:
print(y, x, z)
if z<y<x:
print(z,y,x)
if z<x<y:
print(z,x,y)
"""
# 8.控制台输出三角形
row = int(input('请输入行数: '))
for i in range(row):
for _ in range(i + 1):
print('*', end='')
print()