2025-3-17 笔记
# range的参数:
# 1)start: 开始
# 2) stop: end past one, 结束的数字大1 。 从数学区间理解为: [start,stop) 左闭右开
# 3)step: 步长, 默认步长为1。
# 例: range(0, 30, 5) # 步长为 5
# [0, 5, 10, 15, 20, 25]
# 例: range(0, -10, -1) # 负数
# [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
#题: 改写为while
# 从0开始循环到9。 步长为3( i =i+3)
# 0 ,3 ,6, 9
for i in range(0,10,3):
print(i)
# 改写为while
# 从0开始循环到9。 步长为3( i =i+3)
# 0 ,3 ,6, 9
i =0
while i< 10:
print(i)
# 复合赋值: i= i+3
i+=3
3. 桌子坐人问题
n=int(input())
x=int(input())
# 标记是否已经坐下这x个人,是就不打印No,否则需要打印No
flag = False
for i in range(1,n+1):
num = int(input())
if 4-num >=x:
print("Yes")
print(i)
flag = True
break
if not flag:
print("No")
4. 每天干前一天一般的工作
题目描述
王多鱼现在有n个半成品待加工,他为了尽快完成加工任务,决定每天加工剩余半成品数量的一半(请向下取整),请问他用多少天可以将未加工的半成品数目减少到m以下?
输入
两行整数,第一行表示n,第二行表示m(初始半成品数目不为0)
输出
一行,一个整数,表示天数
输入样例1
5
2
输出样例1
3
输入样例2
3
2
输出样例2
2
Hint
本题属于“不知道需要循环多少次,但是知道循环截止条件”的迭代类型,适合使用while语句完成。【请务必在本地调试通过后,再提交至平台】
# 读取输入的初始半成品数量 n
n = int(input())
# 读取输入的目标数量 m
m = int(input())
# 初始化天数为 0
days = 0
# 当未加工的半成品数目大于等于 m 时,继续循环
while n >= m:
# 每天加工剩余半成品数量的一半(向下取整)
n = n - n // 2
# 天数加 1
days = days + 1
# 输出天数
print(days)
5. 治安还是,刑事
# 涉案金额在3000元(含)以上,但不满5000元,属于治安案件;
# 涉案金额在5000元(含)以上,属于刑事案件。
n = int(input())
# 治安案件
v1 = 0
#刑事案件
v2 = 0
for _ in range(n):
# 每次循环接收对应金额,共n次循环
num = int(input())
# 涉案金额在3000元(含)以上,但不满5000元,属于治安案件
if 5000 > num >= 3000:
v1 += 1
# 涉案金额在5000元(含)以上,属于刑事案件。
if num >= 5000:
v2 += 1
print(v1)
print(v2)
6. 3的倍数,个位数为3,均不打印
n = int(input())
# cnt标记了,已经报个几个数
cnt = 0
# num从1开始自然加一( 1,2,3,4,5...)
num = 1
# 超过了n就不打印了。
# while语法来看: cnt >=n 循环体退出
# while True执行循环,while False时,循环体退出
while cnt < n:
# 1)规则一:所有3的倍数的数字不能被念出来。例如3、6、9等;
# 2)规则二:所有个位数是3的数字也不能念出来
if num%3!=0 and num%10!=3:
print(num)
cnt+=1
num+=1

浙公网安备 33010602011771号