python-认识(第二段)

2023-11-14

1、条件表达式

关系运算符特点:可以连用

例: a , b = 10,50        对于 0<a<b

C/JAVA : 0<a --> 1        1<b  -> 1         true

python:  0<a and a<b        true

逻辑运算符: and 、or、not

表示year为闰年:

(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)  


if-else语句

注意: 条件表达式的‘ ’不可少; 缩进不能省。

例题:

(1)判断回文数

str = input("请输入字符串:")
if(str == str[::-1]):
    print(str+'为回文')
else:
    print(str+'不是回文')

(2)三位数找最大的一位数字

n = int(input('输入:'))
a = str(n)[0]
b = str(n)[1]
c = str(n)[2]
if a>b and a > c:
    max = a
elif b>a and b>c:
    max = b
else:
    max = c
print('max=',max)
# 也可以用内置函数max(a,b,c)返回最大数值

2、循环

for语句

for 变量 in 迭代器:

        语句块

//for 和 in 都说关键字

//变量按顺序取得迭代器表示的值序列中的各个值

例题:

(1)统计英文大小写、数字

str = input('输入:')
count_upper = 0
count_lower = 0
count_digit = 0
for s in str:
    if s.isupper():count_upper=count_upper+1
    if s.islower():count_lower=count_lower+1
    if s.isdigit():count_digit=count_digit+1
print('大写:',count_upper)
print('小写:',count_lower)
print('数字:',count_digit)

range() 

range(n) : 得到序列为 0,1,2,3,···,n-1        便于求素数

range(m,n) : 得到 m,m+1,···,n-1        m>=n时序列为空

range(m,n,d) : 得到 m,m+d,m+2d···, 按步长递增,如果d为负则递减,直到接近但不包括n的等差值。

(2)前n项的奇数和  与 偶数和

sum_odd=0
sum_even=0
n=int(input('输入:'))
for i in range(1,n+1):
    if i%2 == 1:
        sum_odd=sum_odd+i
    else:
        sum_even=sum_even+i
print('奇数和:',sum_odd)
print('偶数和:',sum_even)

(3)求非负数字序列的最小值、最大值、平均值

count = 0
total = 0
print('请输入:(以1结束)')
num = int(input())
min = num
max = num
while(num != -1):
    count += 1
    total += num
    if num<min: min = num
    if num>max: max = num
    num = int(input('输入:'))
if count > 0:
    print('最小{},最大{},均值{:.2f}'.format(min,max,total/count))
else:
    print('输入为空')

对于浮点数数学计算问题,计算机表示的精度是有限的,不能用‘等于’进行判断,而是取误差在可接受的很小范围来判断。

(4)牛顿迭代法

'''
假设需要求正实数 x 的算术平方根
如果y*y=x,计算结束,y就是结果
否则令z=(y+x/y)/2
令y=z,转回第一步
'''
import math
x=float(input('输入:'))
n=0
y=1.0
while abs(y*y-x)>1e-8:
    y=(y+x/y)/2
    n=n+1
    print(n,y)
print('算术平方根:',y)
print('sqrt求算术平方根:',math.sqrt(x))

(5)求m和n最大公约数

m=int(input('输入m:'))
n=int(input('输入n:'))
for i in range(min(m,n),0,-1):#从后往前搜索,更快
    if m % i==0 and n % i==0:
        print('{}和{}的最大公约数为:{}'.format(m,n,i))
        break

(6)求n以内的素数

'''
判断是否为素数:
n=int(input('n='))
for i in range(2,n):
    if n%i == 0:
        print(n,'不是素数')
        break
else:
    print(n,'是素数')
'''

count=0
n=int(input('输入n(n>2):'))
for k in range(2,n):
    for i in range(2,k):
        if k%i ==0:
            break
    else:
        print('{:>5}'.format(k),end=' ')#右对齐
        count+=1
print('\n共有{}个素数'.format(count))

random库基本应用参考教材 p55  和  p56p57


 3、应用实例

水仙花数

'''
3位数,满足:每一位上数字三次幂之和等于它本身
'''
for i in range(100,999+1):
   a=i//100
   b=i//10%10
   c=i%10
   if(a**3+b**3+c**3)==i:
       print(i,end='  ')

>>> %Run '1-10水仙花.py'
153  370  371  407  

找出1000以内的完全数

'''
满足它所有真因子(除了自身外的约数)的和等于它本身
'''
for n in range(1,999+1):
    sum=0
    for i in range(1,n):
        if n%i==0:
            sum+=i
    if sum==n:
        print(n,end=' ')

>>> %Run '1-11完全数.py'
6 28 496 

无穷级数圆周率PI的前n项和

'''
无穷级数:4/1-4/3+4/5-4/7···的和是Π
'''
n = int (input('输入项数:'))
PI=0
for i in range(1,n+1):
    PI=PI+(-1)**(i+1)*(1/(2*i-1))
print('PI=',PI*4)

>>> %Run '1-12无穷级数前n项和.py'
输入项数:1000
PI= 3.140592653839794

斐波那契数列

n=int(input('输入数列项数:'))
x1=1
x2=1
count=2
print('{:>8}{:>8}'.format(x1,x2),end=' ')
for i in range(3,n+1):
    x3=x1+x2
    print('{:>8}'.format(x3),end=' ')
    count+=1
    if count%4==0:print()#每四个换行
    x1=x2
    x2=x3

 >>> %Run '1-13斐波那契数列.py'
输入数列项数:20
       1       1        2        3 
       5        8       13       21 
      34       55       89      144 
     233      377      610      987 
    1597     2584     4181     6765 


 --------------------------------------------------------下一段列表与元组

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-认识(第二段) 的相关文章

随机推荐

  • 【Java编程】JavaSE基础总结(三):异常机制、泛型

    JavaSE基础总结 三 1 Java异常机制 1 1 异常 在理想的情况下 我们的程序会按照我们的思路去运行 按理说是不会出现问题的 但是 代码实际编写后并不一定是完美的 可能会有我们没有考虑到的情况 如果这些情况能够正常得到一个错误的结
  • 在C++中 ,什么时候用:: ?什么时候用. ?什么时候用->?

    在C 中 什么时候用 什么时候用 什么时候用 gt 在 C 中 和 gt 是三种不同的运算符 用于访问类 结构体 命名空间 指针等的成员 它们的使用场景如下 作用域解析运算符 用于访问命名空间的成员或静态成员 例如 假设有一个命名空间 My
  • 内核中时间相关的知识介绍

    1 内核要解决的时间相关问题 1 如何度量时间差 如何比较时间 2 如何获取当前时间 3 如何将操作延迟指定的一段时间 4 如何调度异步函数到指定的时间之后执行 2 度量时间差 2 1 内核度量时间的原理 1 Soc有时间相关的硬件 比如定
  • tar打包split分割分解拆分大包文件

    2010 01 26 12 47 http hi baidu com hovlj 1130 item fe21d8342e68aa86c3cf2928 tar打包split分割分解拆分大包文件 有时候远程下载tar包的时候 由于包太大 失去
  • 语法分析—自上而下分析

    1 美图 2 位置 语法分析器的功能 语法分析的任务是分析一个文法的句子结构 语法分析器的功能 按照文法的产生式 语言的语法规则 识别输入符号串是否为一个句子 合式程序 语法分析的方法 不行 看不懂 我太难了 不看了
  • Goldengate 12.2新特性-自描述的队列文件

    OGG12 2中最大的变化之一就是队列文件是自描述的 意思是不再担心以前版本中 表结构异构的情况 也不再需要defgen生成定义文件 以及不再使用assumeTargetDefs或SourceDefs参数 许多手工处理的步骤不再需要了 即使
  • 【C/C++】三目运算符的详细分析

    前言 C C 三目运算符是一种条件运算符 也被称为 三元运算符 或 条件运算符 它的语法结构为 condition true expression false expression 表示如果 condition 为真 则执行 true ex
  • 2023华为杯数学建模研赛A题B题C题D题E题F题思路代码成品分享

    2022华为杯将于9 22开赛 思路贴将于早上发布 粉丝可见 国一F奖3年数学建模经验团队 交流裙 735249423 下文是2022年研赛E的思路示例 E题思路 问题1 从机理分析的角度 建立不同放牧策略 放牧方式和放牧强度 对锡林郭勒草
  • .npmrc的作用

    npmrc 文件是用于配置 npm Node js 包管理器 行为的配置文件 通过在项目根目录下创建或编辑 npmrc 文件 你可以自定义 npm 的一些行为和设置 以满足你的项目需求 这个文件通常包含一些键值对 每一对都对应着一个配置项
  • 非中心卡方分布

    非中心卡方分布 非中心卡方分布是卡方分布的一般化形式 如果 是 个独立的正态分布的随机变量均值为 方差为 表示为 那么随机变量 为非中心卡方分布 非中心卡方分布涉及两个参数 表示自由度 即 的数目 是和随机变量 相关的参数 由以上参数所定义
  • spring框架基础篇一 ——Ioc控制反转,DI依赖注入

    因为spring框架设计内容比较多 因此博主分成三篇讲解spring框架 spring基础篇一 Ioc控制反转 DI依赖注入 整合junit spring基础篇二 AOP切面编程 JDBCTemplate spring基础篇三 事务管理 S
  • UiBot无法抓取Google Chrome元素和数据抓取工具无法使用的解决方案

    UiBot RPA抓取 Google Chrome 元素建议使用 Google Chrome 原版浏览器 不建议使用 二次修改的浏览器版本 以确保兼容性最佳 操作流程符合本教程 如果无法抓取 Google Chrome 浏览器元素 或数据抓
  • 校园二手交易小程序

    mysql数据库创建语句 create table t admin id int primary key auto increment comment 主键 username varchar 100 comment 超级管理员账号 pass
  • 从道法术三个层面理解区块链:术

    区块链对当下的大家来说 都还是盲人摸象的阶段 所以经常群里有各种争论 归结起来 都是有的摸到了大腿 有的摸到了耳朵 相互之间就难以说服对方 各自有各自的认知 笔者尝试从道法术这三个层面来解读下区块链 以便让大家有个更全面的了解 也知道自己的
  • Linux设备驱动-procfs

    在Linux中 procfs是进程文件系统 file system 的缩写 包含一个伪文件系统 启动时动态生成的文件系统 可用于内核层和用户层交互信息 这个文件系统通常被挂载到 proc 目录 由于 proc 不是一个真正的文件系统 它也就
  • 排序算法-----插入排序

    目录 前言 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言 嗨嗨 米娜桑 今天我们继续学习排序算法中的插入排序 激不激动 兴不兴奋呢 好了废话不多说 下面请看正文 插入排序 插入排序 一般也被称为直接插入排序 对于少量
  • SSHException: Incompatible ssh peer (no acceptable kex algorithm)

    使用公司维护助手 python开发 执行巡检 导入主机信息时 发现无法连接 报错信息如下 2015 12 22 15 41 12 983 15004 ERROR paramiko transport Exception Incompatib
  • vscode 在标签的src引入别名路径_Typescript项目别名(alias)配置清单

    综述 新手写Typescript项目 别名配置是经常出问题的环节 有的人遇到这种问题 如果一时半会儿解决不了 干脆就不用别名了 这显然是不合理的 本文给出一个Typescript项目各种环节的别名配置清单 如果遇到问题 可以对照着检查一下
  • hudi 编译

    编译hudi 下载hudi git clone https github com apache incubator hudi git cd incubator hudi 编译 mvn clean install DskipTests Dsk
  • python-认识(第二段)

    1 条件表达式 关系运算符特点 可以连用 例 a b 10 50 对于 0