【Python】1_Java与Python比较 再探 &&/and Python入门(循环判断if,elif,else,while,for和循环else(for-else)

简介: ​一、输出height = 170.5# 默认本来是几位,就显示几位print(F"我的身高是{height}cm") # 我的身高是170.5cm# 指定小数位 2位小数print(F"我的身高是{height:.2f}cm") # 我的身高是170.50cm# 指定小数位 3位小数print(F"我的身高是{height:.3f}cm") # 我的身高是170.500cm可以控制小数的位数,与Java不同,Java和c的float都只是单精度浮点数,而在Python中float代表的是小数。通过".2"的形式表示要有两位小数name = "名之以


一、输出
height = 170.5

默认本来是几位,就显示几位

print(F"我的身高是{height}cm") # 我的身高是170.5cm

指定小数位 2位小数

print(F"我的身高是{height:.2f}cm") # 我的身高是170.50cm

指定小数位 3位小数

print(F"我的身高是{height:.3f}cm") # 我的身高是170.500cm

可以控制小数的位数,与Java不同,Java和c的float都只是单精度浮点数,而在Python中float代表的是小数。通过".2"的形式表示要有两位小数

name = "名之以父"
weight = 143.3
height = 177.3
print("我的名字是:%S,体重是%f,身高是:%f", % (name , weight , height))

在使用%号上,最后一块使用一个%号,用括号括起来即可

 二、if语句
1、单个if

1、通过用户键盘输入,获取年龄input()

age = input("请输入您的年龄:")

需要将字符串类型的age转换为int类型的age

age = int(age)

2、判断年龄是否满足18岁,满足的话进行输出

if age > 18:

# 条件满足才执行
print("哥过了18岁了,可以为所欲为了")

3、程序最后输出,if判断结束,不管是否满足都会输出

print("if语句结束")

在if语句中不需要括号写条件,直接书写即可,在结尾处的花括号被":"代替了,判断语句的结束使用缩进表示。即缩进结束的话,判断语句结束

2、if-else结构

1、通过用户键盘输入,获取年龄input()

age = input("请输入您的年龄:")

需要将字符串类型的age转换为int类型的age(有两种方式)

age = eval(age)

age = int(age)

2、判断年龄是否满足18岁,满足的话进行输出

if age > 18:

# 条件满足才执行
print("哥过了18岁了,可以为所欲为了")

else:

# 判断条件不满足会执行的代码
print("你没过18岁,回去好好学习吧,少年!")

3、程序最后输出,if判断结束,不管是否满足都会输出

print("if语句结束")

同样是使用“:”表示判断开始,不缩进表示判断结束

3、if-elif-else结构
类似Java,c中的if-else if else结构,就是多重判断的书写方式

需求:

需求:

score = eval(input('请输入你的成绩:'))

1. 成绩大于等于90 ,输出优秀

if score >= 90:

print('优秀')

2. 成绩大于等于80,小于90,输出良好

elif (score >= 80) and score < 90:

print('良好')

3. 成绩大于等于60,小于80,输出及格

elif score >= 60: # 想要执行这个判断的前提是,前边两个条件都不满足(成立), 代表score一定小于80

print('及格')

4. 小于60,输出不及格

else:

print('不及格')

print("程序结束")
4、if嵌套

假设 money 大于等于2 可以上车

money = eval(input('请输入你拥有的零钱:'))

money = int(input('请输入你拥有的零钱:')) # 两种方式

1. 有钱可以上车

if money >= 2:

print('我上车了')
# 假设 seat 大于等于1,就可以坐
seat = int(input('车上的空位个数:'))
# 3. 有空座位,可以坐
if seat >= 1:
    print('有座位坐')
else:
    # 4. 没有空座位,就站着
    print('没有座位,只能站着')

else:

# 2. 没钱不能上车,走路
print('没钱,我只能走路')

5、案例
猜拳游戏
需要导包,把随机数的包导入

import random

缺点:没办法控制用户 必须输入1到3的数

1. 用户输入自己出拳的内容

user = int(input('请输入要出的拳:1(石头) 2(剪刀) 3(布):'))

2. 让电脑随机出拳

computer = random.randint(1, 3) # 随机产生1-3 之间的随机数

print(computer)

3. 判断胜负

3.1 平局 输入的内容一样 user == computer

3.2 user 胜利, ①. user==1 and computer==2 ② user==2 and computer==3 ③ user==3 and computer == 1

3.3 else 剩下的情况就是电脑胜利

if user == computer:

print("电脑出的是:%d" % computer)
print('平局')

elif (user == 1 and computer == 2) or (user == 2 and computer == 3) or (user == 3 and computer == 1):

print("电脑出的是:%d" % computer)
print('恭喜你,胜利了!')

else:

print("电脑出的是:%d" % computer)
print('你输了,弱爆了!')

三、三目运算符
本质上是if-else结构的变形

先写第一个表达式(成立的情况)在写判断条件,最后再写不成立的情况

而在Java和c 中是a>b ? a : b (是对和b的大小进行比较, “?”表示问一问是否成立,如果成立的话,输出a,如果不成立的话,输出b,即“:”后面的内容)

                        a-b>0 ? a-b : b-a (a-b的值是否大于0 如果成立,则输出a-b的值;如果不成立,则输出b-a的值)

a = int(input("请输入一个数字:"))
b = int(input("请输入一个数字:"))

result = a-b if a > b else b-a # 可以加括号
print(result)

 四、while循环

使用print输出模拟跑一圈

print('操场跑圈中.....')

print('操场跑圈中.....')

print('操场跑圈中.....')

print('操场跑圈中.....')

print('操场跑圈中.....')

使用循环解决跑圈问题

1. 记录已经跑了多少圈

i = 0

3. 书写循环,判断是否满足条件

while i < 5:

print('操场跑圈中.....')
# 2. 跑了一圈之后,记录的圈数加1
i += 1  # 不支持 i++

print('跑圈完成')
猜拳游戏(while版)
import random

缺点:没办法控制用户 必须输入1到3的数

while True:

# 1.用户输入自己出拳的内容
user = int(input('请输入要出的拳:1(石头) 2(剪刀) 3(布):'))
# 2. 让电脑随机出拳
computer = random.randint(1, 3)  # 随机产生1-3 之间的随机数
# print(computer)
# 3. 判断胜负
# 3.1 平局 输入的内容一样  user == computer
# 3.2 user 胜利, ①. user==1 and computer==2  ② user==2 and computer==3 ③ user==3 and computer == 1
# 3.3 else 剩下的情况就是电脑胜利
if user == computer:
    print("电脑出的是:%d" % computer)
    print('平局')
elif (user == 1 and computer == 2) or (user == 2 and computer == 3) or (user == 3 and computer == 1):
    print("电脑出的是:%d" % computer)
    print('恭喜你,胜利了!')
else:
    print("电脑出的是:%d" % computer)
    print('你输了,弱爆了!')

break
n = int(input("请输入三角形的一边长:"))

2、定义变量,记录打印的行数

j = 1 # 将要打印第一行
while j <= n:

# 1、定义变量记录一行打印的*个数
i = 1  # 将要打印第一个
while i <= j:
    print("* ", end="")
    i += 1
print()
j += 1

for循环打印三角形

for i in range(n): # 控制行数

for j in range(i+1):  # i range(i) 不包含i,所以需要+1,控制一行打印的个数
    print("* ", end="")
print()



 continue

有五个苹果

1. 吃了三个苹果之后, 吃饱了.后续的苹果不吃了

2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果

for i in range(1, 6):

if i == 4:
    print('发现半条虫子,这个苹果不吃了, 没吃饱,继续吃剩下的')
    continue  # 会结束本次循环,继续下一次循环

print(f'吃了编号为{i}的苹果')

五、案例(提供while和if;两种解决方法)
1、计算1到100的和

1 + 2 + 3 + 99 + 100

循环生成 1- 100 之间的数字

定义变量记录初始的值

my_sum = 0
i = 1

while i <= 100:

求和

my_sum += i # my_sum = my_sum + i

改变i的值

i += 1

将代码放在循环的缩进里边.还是外边,可以思考,这行代码想让他打印输出几次,如果只输出一次,放在外边,

如果想要多次输出,放在里边

for i in range(101):

my_sum += i

print('求和的结果为', my_sum)

两种遍历方式

2、计算1到100的偶数和(两种办法)

偶数, 能被2整除的数是偶数 num % 2 == 0

循环生成 1- 100 之间的数字

定义变量记录初始的值

my_sum = 0
i = 1
while i <= 100:

# 先判断数字是不是偶数,如果是偶数求和
if i % 2 == 0:
    my_sum += i  # my_sum = my_sum + i
# 改变i的值
i += 1

将代码放在循环的缩进里边.还是外边,可以思考,这行代码想让他打印输出几次,如果只输出一次,放在外边,

如果想要多次输出,放在里边

print('求和的结果为', my_sum)

循环生成 1- 100 之间的数字

定义变量记录初始的值

my_sum = 0
i = 2 # 1-100 之间第一个偶数
while i <= 100:

my_sum += i  # my_sum = my_sum + i
# 改变i的值
i += 2  # 保证每次的结果都是偶数

将代码放在循环的缩进里边.还是外边,可以思考,这行代码想让他打印输出几次,如果只输出一次,放在外边,

如果想要多次输出,放在里边

print('求和的结果为', my_sum)
3、while循环嵌套

操场跑圈 一共需要跑5圈

每跑一圈,需要做3个俯卧撑,

1. 定义变量记录跑的圈数

i = 0

while i < 5:

# 2. 定义变量, 记录每一圈做了多少个俯卧撑
j = 0
# 3. 操场跑圈
print('操场跑圈中.....')
# 4. 做俯卧撑
while j < 3:
    print('做了一个俯卧撑')
    j += 1
# 一圈完整了,圈数加1
i += 1

4、for循环嵌套

操场跑圈 一共需要跑5圈

for i in range(5):

print('操场跑圈中')
# 每跑一圈,需要做3个俯卧撑,
for j in range(3):
    print('做一个俯卧撑....')

5、循环嵌套-打印正方形
n = int(input("请输入正方形的边长:"))

n=5

3、打印n行的*

两次循环绑定的都是与n直接比较

j = 0
while j < n:

i = 0
while i < n:
    # 1. 打印一个*
    print("* ", end="")
    i += 1
# 一行打印结束之后,需要让j+1,同时还需要换行
print()  # 换行
j += 1

for 循环实现打印正方形

2、打印n行

for j in range(n):

# 1、打印一行
for i in range(n):
    print("* ", end="")
print()

6、循环嵌套-打印三角形
n = int(input("请输入三角形的一边长:"))

2、定义变量,记录打印的行数

j = 1 # 将要打印第一行
while j <= n:

# 1、定义变量记录一行打印的*个数
i = 1  # 将要打印第一个
while i <= j:
    print("* ", end="")
    i += 1
print()
j += 1

for循环打印三角形

for i in range(n): # 控制行数

for j in range(i+1):  # i range(i) 不包含i,所以需要+1,控制一行打印的个数
    print("* ", end="")
print()

六、循环else结构(重点!Python独有的)

这里是Python独有的方法,可以直接for和else!

像Java,C 之类的,必须还需要一个变量才能做到!

为Python欢呼!!!

my_str = "hello python"

my_str = "mingzhiyifu"

for i in my_str:

if i == "p":
    print("包含p这个字符")
    # 已经判断出来包含了,是否还需要继续判断
    break

else:

print("不包含这个字符")  # for 循环代码运行结束,但是不是被 break 终止的时候会执行

相关文章
|
2天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
8 0
|
2天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
25 1
|
2天前
|
Java 测试技术
Java一分钟之-循环结构:for与while循环
【5月更文挑战第8天】本文探讨了Java中两种主要的循环结构——`for`和`while`循环。`for`循环适用于已知迭代次数的情况,常见问题包括无限循环、初始化错误和作用域混淆。`while`循环适用于循环次数未知但条件明确的情况,需注意更新条件、死循环初始化和逻辑错误。避免错误的策略包括明确循环目的、检查边界条件、管理迭代变量、进行代码审查和测试,以及使用增强型`for`循环。正确理解和使用这些循环能提升代码质量。
10 0
|
3天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
15 0
|
4天前
|
机器学习/深度学习 JSON 数据库
Python每循环一次保存一次结果
Python每循环一次保存一次结果
8 1
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
17 1
|
10天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
10天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
10天前
|
设计模式 算法 安全
Java多线程编程实战:从入门到精通
【4月更文挑战第30天】本文介绍了Java多线程编程的基础,包括线程概念、创建线程(继承`Thread`或实现`Runnable`)、线程生命周期。还讨论了线程同步与锁(同步代码块、`ReentrantLock`)、线程间通信(等待/通知、并发集合)以及实战技巧,如使用线程池、线程安全设计模式和避免死锁。性能优化方面,建议减少锁粒度和使用非阻塞算法。理解这些概念和技术对于编写高效、可靠的多线程程序至关重要。
|
10天前
|
安全 Java
循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
循环的时候去删除集合中的元素 java.util.ConcurrentModificationException