首页 > 编程语言 >Java开发者的Python快速进修指南:控制之if-else和循环技巧

Java开发者的Python快速进修指南:控制之if-else和循环技巧

时间:2023-11-18 20:33:39浏览次数:33  
标签:Java Python num else 循环 print

简单介绍

在我们今天的学习中,让我们简要了解一下Python的控制流程。考虑到我们作为有着丰富Java开发经验的程序员,我们将跳过一些基础概念,如变量和数据类型。如果遇到不熟悉的内容,可以随时查阅文档。但在编写程序或逻辑时,if-else判断和循环操作无疑是我们经常使用的基本结构。毕竟,我们初步编写的代码很多时候都是在if嵌套中度过的。随着经验的积累,我们才逐渐开始考虑如何将设计模式融入代码中进行优化。循环也是同样如此,我们的取值逻辑涉及到分页批量处理,遍历是不可或缺的。

基础

首先,让我们深入了解一下Python的写法。在Python中,缩进是至关重要的,这与我们编写YAML文件时的逻辑非常相似。在Python中,同一层逻辑保持相同的缩进,子逻辑则进一步缩进,而换逻辑则从新的一行从头开始。

在编程中,我们经常使用打印语句来进行调试和输出信息。不同于Java中的println和print,Python中只有一个print函数。然而,它具有一个默认的第二个参数end,你可以使用类似这样的方式进行打印:print('test', end='\t')。这对于控制输出的结尾非常有用。在函数调用方面,Python允许传递默认值,这使得函数调用时不像Java那样必须提供所有参数。

这些是Python中一些基础的语法和习惯,接下来我们将深入探讨更多关于if判断和循环的内容,以及如何在Python中灵活运用这些概念。

if判断

在Python中,if判断的灵活性给我们带来了很多便利。特别是在缩进写法上,省略了冗长的括号,使得代码更加清晰。不仅如此,Python还提供了elif来简化多个条件的判断,让你的键盘少敲两次,看起来更简洁。下面,让我们通过一个例子来深入了解:

# 例子:判断一个数字的正负和奇偶性

num = int(input("请输入一个整数:"))

if num > 0:
    print("这是一个正数。")
elif num < 0:
    print("这是一个负数。")
else:
    print("这是零。")

if num % 2 == 0:
    print("这是一个偶数。")
else:
    print("这是一个奇数。")

了解了Python中的if判断写法后,让我们研究一下在业务逻辑中常用的andor操作符。这两个操作符在Python中的灵活运用能够使代码更加简洁,提高可读性。

在业务逻辑中,有些开发者习惯在if判断中直接使用andor,而不愿意提前声明变量记录判断值。这样的写法虽然直接,但也可能让代码变得冗长。让我们通过一个实例来展示如何巧妙地运用andor

# 例子:验证用户名和密码是否同时符合要求

username = input("请输入用户名:")
password = input("请输入密码:")

# 判断用户名和密码是否同时满足条件
if len(username) > 5 and len(password) >= 8:
    print("用户名和密码符合要求,验证通过。")
else:
    print("用户名或密码不符合要求,请重新输入。")

在这个例子中,我们通过and操作符将两个条件同时纳入判断,使得验证逻辑更加清晰。

接下来,让我们看一下取反操作,Python中使用的是not。这与Java中使用感叹号!的逻辑相似,但更贴近自然语言,提高了可读性。下面是一个简单的取反操作的例子:

# 例子:判断一个数字是否不在指定范围内

number = 25

if not (10 <= number <= 20):
    print("这个数字不在10到20之间。")
else:
    print("这个数字在指定范围内。")

通过这个例子,你可以更好地理解在Python中如何使用not进行取反操作。

while循环

在Python中,while循环不仅与Java一样有强行退出的break和继续执行的continue关键字,而且有一个独特的特性,即在循环正常结束后可以使用else块,前提是循环没有被break中断。这个特性使得Python中的while循环更加灵活,可以在循环结束后执行特定的业务逻辑。

让我们通过一个例子来深入了解:

# 例子:利用while循环计算数字的阶乘,并在循环结束后输出结果

num = int(input("请输入一个正整数:"))
factorial = 1
count = 1

while count <= num:
    factorial *= count
    count += 1
else:
    print(f"{num}的阶乘是:{factorial}")
    print("循环正常结束,执行了else块中的业务逻辑。")

在这个例子中,循环通过while count <= num条件进行控制,当循环正常结束时,执行else块中的代码。这种结构在Java中是不常见的,但在Python中却是一种很有用的模式。

for循环

与while循环类似,for循环在Python中也有强行退出的break和继续执行的continue关键字。下面是一个使用for循环的例子:

# 例子:遍历列表并输出元素的平方,并在循环结束后输出提示信息

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    square = num ** 2
    print(f"{num}的平方是:{square}")
else:
    print("for循环正常结束,执行了else块中的业务逻辑。")

在这个例子中,我们使用for循环遍历列表numbers,并计算每个元素的平方并输出。同样地,循环正常结束后,执行了else块中的代码。

总结

在今天的学习中,我们简要了解了Python的控制流程,特别是if-else判断和循环操作。作为有着Java开发经验的程序员,我们跳过了一些基础概念,着重探讨if判断和循环的灵活运用。Python的缩进写法和与Java的一些语法区别都是需要注意的地方。在编写程序时,if嵌套和循环是基础结构,而设计模式的融入和循环的灵活运用则是经验积累后的优化方向。在学习中,我发现Python的语法简洁,控制流程更为灵活,使得编写清晰可读的代码变得更加容易。

标签:Java,Python,num,else,循环,print
From: https://www.cnblogs.com/guoxiaoyu/p/17828158.html

相关文章

  • Java秋招学习路线
    Java秋招学习路线前期:JVM+JUC+Redis+Mysql+项目(实际的项目或者网上找的项目)+力扣面试笔刷100题后期:边投简历边看八股MySql:MySql45讲链接:https://pan.baidu.com/s/1IEViw6E9SWmtgpot8Cdeug提取码:hsqf--来自百度网盘超级会员V6的分享Redis:黑马点评,可以当做简历里的一个项......
  • 囚徒4.0_11_基于python的风云云检测算法
    #囚徒4.0_11_基于python的风云算法#关于昨天数据不同的问题:是因为IDL和Python的逻辑不同而导致的,数据读取没问题,我表示错了。#换语言好麻烦,现在都不知道什么语法对应什么语言了,一团糟。#从上午十点写到现在,测试的时候发现python他的读取逻辑和IDL不一样,他的循环也不一样,我真......
  • 数据结构之二叉树的遍历2(java)
    一:概述二叉树的深度遍历3种方式:前序遍历、中序遍历、后序遍历。下面是具体的这三种方式的遍历代码。二:具体概述用递归的方式实现前序遍历、中序遍历、后序遍历。publicclassTreeNodeTraveral{/***构建二叉树**@paraminputList输入序列*/......
  • python数据提取-正则表达式
    1.正则表达式 (1)re的findall()方法importrer_list=re.findall('AB','ABCABDDGAAGDSGSDG')#后匹配前print(r_list)#输出:['AB','AB'] (2)也可以写作下面importrepattern=re.compile('AB')r_list=pattern.findall('ABCABDDGA......
  • python数据持久化(mysql+CSV+mongodb)
    1.创建数据库createdatabasemydbcharsetutf8;usemydb;createtablemydb(namevarchar(100),starvarchar(200),timevarchar(100))charset=utf8;2.使用pymysql模块在mytab表中插入一条表记录importpymysql#(1)创建数据库连接对象db=pymysql.connect('localhost','roo......
  • 爬取python网站下载地址,并下载最新文件
    1.下载https://www.python.org/ftp/python/最新版本python文件  一个下载网站,查看最新的,然后下载对应版本文件(如,列出python版本,并下载https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz)。 代码如下:importrequestsfromlxmlimportetreeimporttimeimportr......
  • 25届实习秋招-Java面试-MySQL数据库面试题整理-牛客网近一年
    MySQL概述:关系型数据和非关系型数据库的区别,有哪些应用场景有哪些非关系的单表操作:三种SQL语言类型,MySql本身常用命令DDL-数据定义语句:表的常用操作truncate/delete--drop操作的区别varchar最大字节数DMLUpdate语句的sql执行流程对行数据的修改是......
  • python的SSH/ftp操作
    1.python连接ssh并执行命令//安装paramiko模块:pipinstallparamiko(1)执行单条命令importparamikossh=paramiko.SSHClient()#创建一个ssh的客户端,用来连接服务器know_host=paramiko.AutoAddPolicy()#创建一个ssh的白名单ssh.set_missing_host_key_policy(know_hos......
  • python使用wandb login报错
    python使用wandblogin报错问题描述wandb是一个可视化在pipinstallwandb后使用importwandb或者运行命令wandblogin产生如下报错:cannotimportname'COMMON_SAFE_ASCII_CHARACTERS'解决方法报错可能是由于charset_normalizer模块的版本问题引起的。卸载重装:pipuninst......
  • IDEA创建第一个JAVA项目,带你认识Java工程中的项目结构
    不管学习那门编程语言,掌握当下流行的集成开发环境是必不可少的。当然仍有多年前的大佬,因为那会的“艰苦条件”,仍有保留着使用文本编辑器编写代码的习惯。对于JAVA来说两大集成开发环境非常受大家青睐!IDEA和eclipse。今天这里将以IDEA为例,带大家认识一个Java工程中应该有哪些......