"""
for循环  4.1 晚上
作用:用来遍历可迭代对象的元素;可迭代对象:能依次获取元素的对象
"""
# range(开始值,结束值,步长)  ,注意不包含结束值,从0开始.
for item in range(1, 10, 2):
    print(item)
# 这里从大到校小,步长设置为正,最终程序不执行
for item in range(10, 1, 2):
    print(item)
for item in range(10, 1, -2):
    print(item)
"""
循环累加下列数字的和:0 1 2 3 4 5
循环累加下列数字的和:2 3 4 5 6 7 
循环累加下列数字的和:0 2 4 6
循环累加下列数字的和:4 3 2 1 0
循环累加下列数字的和:-1 -2 -3 -4 
"""
sum_value_1 = 0
for item in range(6):
    sum_value_1 += item
print(f"循环累加下列数字的和:0 1 2 3 4 5 和为{sum_value_1}")
sum_value_2 = 0
for item in range(2, 8):
    sum_value_2 += item
print(f"循环累加下列数字的和:2 3 4 5 6 7 和为{sum_value_2}")
sum_value_3 = 0
for item in range(0, 7, 2):
    sum_value_3 += item
print(f"循环累加下列数字的和:0 2 4 6 和为{sum_value_3}")
sum_value_4 = 0
for item in range(4, -1, -1):
    sum_value_4 += item
print(f"循环累加下列数字的和:4 3 2 1 0 和为{sum_value_4}")
sum_value_5 = 0
for item in range(-1, -5, -1):
    sum_value_5 += item
print(f"循环累加下列数字的和:-1 -2 -3 -4 和为{sum_value_5}")
"""
这里有两种思路:
1.满足条件就干
2.不满足条件就跳
举个例子,在1到50之间,能够被5整除的数累加和是多少?
"""
sum_value_6 = 0
for item in range(1, 51):
    if item % 5 == 0:
        sum_value_6 += item
print(f"在1到50之间,能够被5整除的数累加和是{sum_value_6}")
sum_value_7 = 0
for item in range(1, 51, 1):
    if item % 5 != 0:
        continue  # 跳出
    sum_value_7 += item
print(f"在1到50之间,能够被5整除的数累加和是{sum_value_7}")
"""
累加10-50之间个位不是2,5,9的整数
"""
sum_value_8 = 0
for item in range(10, 51):
    if item % 10 == 2 or item % 10 == 5 or item % 10 == 9:
        # print(item)
        continue
    sum_value_8 += item
print(f"累加10-50之间个位不是2,5,9的整数是{sum_value_8}")
sum_value_9 = 0
for item in range(10, 51):
    if item % 10 != 2 or item % 10 != 5 or item % 10 != 9:
        sum_value_9 += item
print(f"累加10-50之间个位不是2,5,9的整数是{sum_value_8}")
"""
break语句:跳出循环体,后面的代码不执行,可以让循环语句的else部分执行,可以让循环语句的else䄦不执行力。
continue 跳过本次,继续下次循环。
"""
"""
随机产生两个数字(1-10)
在控制台获取两个数相加的结果
如果用户输入正确得10分,否则扣5分
总共三道题,最后输出得分
"""
import random
user_value = 0
for item in range(3):
    num_1 = random.randint(1, 10)
    num_2 = random.randint(1, 10)
    print(f"请输入{num_1}+{num_2}=?", end="\n")
    if int(input()) == (num_1 + num_2):
        user_value += 10
    else:
        user_value -= 5
print(f"总分是{user_value}")

"""
在终端中录入一个整数,判断是否为素数。
素数:只能被1和自身整除的正数
思路:排除法,使用2到当前数字之间的正数判断,如果存在被整除,则不是素数
"""
state = True
while state:
    num = int(input("请输入一个整数"))
    for i in range(2,num):
        if num % i == 0:
            print(f"{num}不是素数")
            break
    else:                           #注意这里的else,原来做的时候困惑很久
        print(f"{num}是素数")
        state = False

num = 100
times=0
distance = num  #最开始的高度
#num/2判断是表示弹起来的高度
while num/2 >0.01:
    times +=1
    num /= 2 #弹回高度一半
    distance += num*2  #累加起落距离
print(f"总共经过{times}次,最终落地,总共经过{distance}米")

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注