python笔记(四):rang整数序列、for和while循环

这篇博客介绍了Python中的整数序列`range()`的使用,包括不同参数的设置及其效果。接着讲解了如何使用`in`和`not in`进行条件判断,并通过循环和条件语句实现特定操作,如打印特定范围内的数字和求和。还展示了从键盘输入密码的验证,以及打印5的倍数、直角图案和9*9乘法表。内容深入浅出,适合初学者巩固基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 -----学习视频来源于马士兵教育-----

内容主要为了自己复习用,也可以让大家梳洗思路

##rang整数序列
r1=range(10) #从0开始到最后一位n-1
print(r1)    #range(0, 10)
print(list(r1))  #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r2=range(1,10)
print(list(r2))  #[1, 2, 3, 4, 5, 6, 7, 8, 9]
r3=range(1,10,2)
print(list(r3))  #[1, 3, 5, 7, 9]

##判断指定的整数,在序列中是否存在in ,not in
print(10 in r1)  #False
print(8 in r1)   #True
print(10 not in r1)  #True

for ri in range(10):
    if ri<=8:
        print(ri)
#4步循环法
1、初始化变量
2、条件判断
3、条件执行体
4、改变变量
总结:初始化的变量与条件判断的变量与改变的变量为同一个
a=1
while a<8:
    print(a) #竖列:1 2 3 4 5 6 7 
    a+=1

sum=0
a=0
while a<5:
    sum+=a
    a+=1
print(sum) #10

sum=0
a=1
while a<=100:
    #if a%2==0:
    if not bool(a%2):
       sum+=a
    a+=1
print('1-100偶数和:',sum) 

sum=0
for _ in range(5):
    print("mark")  ##打印mark5次  mark mark mark vmark

sum=0
for item in range(1,101):
    if item%2==0:
        sum+=item
print(sum) #2550打印1-100偶数和

for i in range(100,1000):
    ge=i%10
    shi=i//10%10
    bai=i//100
    #print(ge,shi,bai)
    if ge**3+shi**3+bai**3==i:
        print(ge,'**3',shi,'**3',bai,'**3','=',i)
# 3 **3 5 **3 1 **3 = 153
# 0 **3 7 **3 3 **3 = 370
# 1 **3 7 **3 3 **3 = 371
# 7 **3 0 **3 4 **3 = 407

##从键盘录入密码,最多3次
for i in range(3):
    pwd=input("your pass:")
    if pwd=='8888':
        print('true')
        break
    else:
        print('error')
else:
    print('三次均错误')


##输出1到50之间所有5的倍数
for item in range(1,51):
    if item%5!=0:
        continue
    print(item) #竖列 5 10 15 20 25 30 35 40 45 50

##打印3行4列
for i in range(1,4):
    for l in range(1,5):
        print('*',end='\t')
    print()
*    *    *    *    
*    *    *    *    
*    *    *    *    

##打印直角
for i in range(1,10):
    for l in range(1,i+1):
        print('*',end='\t')
    print()
*    
*    *    
*    *    *    
*    *    *    *    
*    *    *    *    *    
*    *    *    *    *    *    
*    *    *    *    *    *    *    
*    *    *    *    *    *    *    *    
*    *    *    *    *    *    *    *    *    


#打印9*9乘法表
for i in range(1,10):
    for l in range(1,i+1):
        print(i,'*',l,'=',i*l,end='\t')
    print()
1 * 1 = 1  
2 * 1 = 2  2 * 2 = 4  
3 * 1 = 3  3 * 2 = 6  3 * 3 = 9  
4 * 1 = 4  4 * 2 = 8  4 * 3 = 12 4 * 4 = 16 
5 * 1 = 5  5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 
6 * 1 = 6  6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 
7 * 1 = 7  7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 
8 * 1 = 8  8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 
9 * 1 = 9  9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

<think>好的,用户现在问的是“np.arang”,看起来像是打错了,应该是“np.arange”。首先,我需要确认用户是否真的想了解这个函数,还是可能拼写错误。根据之前的对话,用户之前询问了“np.random.shuffle”,现在可能继续在探索NumPy的其他函数。 接下来,我需要检查用户输入的正确性。np.arang并不存在,正确的函数是np.arange。这时候应该先指出用户的拼写错误,然后提供正确的信息。同时,用户可能是对NumPy的arange函数不太熟悉,需要详细解释。 然后,要分析用户的需求。他们可能是在学习NumPy的基础函数,或者在处理数组生成时遇到了问题。需要解释np.arange的作用,参数,使用示例以及注意事项。同时,用户可能关心它Python内置range函数的区别,或者与np.linspace的不同之处,所以需要对比说明,帮助用户更好地理解应用场景。 还要考虑用户可能的后续问题,例如如何处理浮点数精度问题,或者如何生成多维数组。在回答中提前包含这些内容可以避免用户再次提问,提高帮助的效率。 最后,要确保回答结构清晰,步骤明确,使用示例代码帮助用户理解。同时,注意使用中文,保持口语化,但避免使用专业术语过多,让不同层次的用户都能理解。</think>你提到的 `np.arang` 可能是拼写错误,正确的函数是 **`np.arange`**。以下是它的详细说明: --- ### **`np.arange` 函数的作用** `np.arange` 是 NumPy 中用于**生成均匀间隔的数值序列**的函数,类似于 Python 内置的 `range()`,但功能更强大,支持浮点数。 --- #### **1. 基本语法** ```python np.arange([start,] stop[, step], dtype=None) ``` - **`start`**:起始值(可选,默认 `0`) - **`stop`**:结束值(生成的序列不包含此值) - **`step`**:步长(可选,默认 `1`) - **`dtype`**:输出数组的数据类型(可选) --- #### **2. 示例代码** ##### **示例 1:基本整数序列** ```python import numpy as np # 生成 [0, 1, 2, 3, 4] arr = np.arange(5) print(arr) # 输出: [0 1 2 3 4] ``` ##### **示例 2:指定起始结束** ```python # 生成 [2, 4, 6, 8] arr = np.arange(2, 10, 2) print(arr) # 输出: [2 4 6 8] ``` ##### **示例 3:浮点数序列** ```python # 生成 [0.1, 0.3, 0.5, 0.7, 0.9] arr = np.arange(0.1, 1.0, 0.2) print(arr) # 输出: [0.1 0.3 0.5 0.7 0.9] ``` --- #### **3. 与 `range()` `np.linspace` 的区别** | 函数/方法 | 特点 | |--------------------|----------------------------------------------------------------------| | `range()` | 仅支持整数,返回迭代器 | | `np.arange` | 支持整数浮点数,返回 NumPy 数组,**不包含终止值** | | `np.linspace` | 生成指定数量的等间隔值,**包含终止值** | --- #### **4. 常见问题** - **浮点数精度问题**: 由于浮点数计算误差,实际生成的最后一个值可能略微超出预期。 例如: ```python # 预期生成 [0, 0.1, 0.2, ..., 0.9] arr = np.arange(0, 1, 0.1) # 实际最后一个元素可能是 0.9 或接近 1(因系统而异) ``` - **多维数组生成**: `np.arange` 生成一维数组,若需要多维结构,需配合 `.reshape()`: ```python arr = np.arange(6).reshape(2, 3) # 输出: # [[0 1 2] # [3 4 5]] ``` --- #### **5. 应用场景** - 数值计算:快速生成坐标网格(搭配 `np.meshgrid`) - 机器学习:构造测试数据或参数序列 - 数据可视化:生成绘图时的 x 轴数据 希望这个解释能帮助你正确使用 `np.arange`!如果还有其他问题,欢迎继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三颗草丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值