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
posted @ 2025-03-17 15:27  kkman2000  阅读(16)  评论(0)    收藏  举报