首页 > 编程语言 >python基础之条件判断语句(笔记)

python基础之条件判断语句(笔记)

时间:2022-12-08 18:02:20浏览次数:45  
标签:语句 python age 笔记 else while num print 输入

# 条件判断语句(if语句)

# 语法:if 条件表达式 :  

#           代码块

# 执行的流程:if语句在执行时,会先对条件表达式进行求值判断,

#   如果为True,则执行if后的语句

#   如果为False,则不执行

# 默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,

#   则可以在if后跟着一个代码块

# 代码块

#   代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行

#   代码块就是一种为代码分组的机制

#   如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行

#   代码块以缩进开始,直到代码恢复到之前的缩进级别时结束

#   鲁迅说过:

#       世上本来没有路,走的人多了自然就有了!

#       xxxx

#   yyyy....

# 缩进有两种方式,一种是使用tab键,一种是使用空格(四个)

#   Python的官方文档中推荐我们使用空格来缩进

#   Python代码中使用的缩进方式必须统一

#   "translate_tabs_to_spaces": true,      


# if False : print('你猜我出来么?')


num = 10

# if num > 10 : print('num比10大!')

# print('谁也管不了我')


if False :

   print(123)

   print(456)

   print(789)

   print(101112)

# print('hello')


num = 28


# 可以使用逻辑运算符来连接多个条件,

#   如果希望所有条件同时满足,则需要使用and

#   如果希望只要有一个条件满足即可,则需要使用or

# if num > 10 and num < 20 :

#     print('num比10大,num比20小!')


# if 10 < num < 20 :

#     print('num比10大,num比20小!')


# 在命令行让用户输入一个用户名,获取用户输入,并进行判断

# 如果用户输入的用户名是admin,则显示欢迎管理员光临

如果用户输入的是其他的用户名,则什么也不做

# input()函数

# 该函数用来获取用户的输入

# input()调用后,程序会立即暂停,等待用户输入

#   用户输入完内容以后,点击回车程序才会继续向下执行

#   用户输入完成以后,其所输入的的内容会以返回值得形式返回

#   注意:input()的返回值是一个字符串

#   input()函数中可以设置一个字符串作为参数,这个字符串将会作为提示文字显示

# a = input('请输入任意内容:')

# print('用户输入的内容是:',a)

# input()也可以用于暂时阻止程序结束


# 获取用户输入的用户名

username = input('请输入你的用户名:')

# 判断用户名是否是admin

if username == 'admin' :

   print('欢迎管理员光临!')

# 让用户在控制台中输入一个年龄

# age = int(input('请输入你的年龄:'))


# 如果用户的年龄大于18岁,则显示你已经成年了

# if age >= 18 :

#     print('你已经成年了~~~')


# if-else语句

# 语法:  

#   if 条件表达式 :

#       代码块

#   else :

#       代码块

# 执行流程:

#   if-else语句在执行时,先对if后的条件表达式进行求值判断

#       如果为True,则执行if后的代码块

#       如果为False,则执行else后的代码块


age = 7

if age > 17 :

   print('你已经成年了~~')

else :

   print('你还未成年~~')

# if-elif-else语句

# 语法:

#   if 条件表达式 :

#       代码块

#   elif 条件表达式 :

#       代码块

#   elif 条件表达式 :

#       代码块

#   elif 条件表达式 :

#       代码块

#   else :

#       代码块

#        

# 执行流程:

#   if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,

#       如果表达式的结果为True,则执行当前代码块,然后语句结束

#       如果表达式的结果为False,则继续向下判断,直到找到True为止

#       如果所有的表达式都是False,则执行else后的代码块

#   if-elif-else中只会有一个代码块会执行


age = 210


# if age > 200 :

#     print('活着可真没劲呢!')

# elif age > 100 :

#     print('你也是老大不小了!')

# elif age >= 60 :

#     print('你已经退休了!')

# elif age >= 30 :

#     print('你已经是中年了!')

# elif age >= 18 :

#     print('你已经成年了!')

# else :

#     print('你还是个小孩!')


age = 68


if age >= 18 and age < 30 :

   print('你已经成年了!')

elif age >= 30 and age < 60 :

   print('你已经中年了!')

elif age >= 60 :

   print('你已经退休了!')

# 练习1:

#     编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。

# 获取用户输入的整数

# num = int(input('请输入一个任意的整数:'))


# # 显示num是奇数还是偶数

# if num % 2 == 0 :

#     print(num , "是偶数")

# else :

#     print(num , '是奇数')



# 练习2:

#     编写一个程序,检查任意一个年份是否是闰年。

#     如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年

# year = int(input('请输入一个任意的年份:'))

# # 检查这个年份是否是闰年

# # year % 4 == 0 and year % 100 != 0 or year % 400 == 0

# if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 :

#     print(year,'是闰年')

# else :

#     print(year,'是平年')


# 练习3:

#     我家的狗5岁了,5岁的狗相当于多大年龄的人呢?

#     其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。

#     那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁  


#     编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。

#     如果用户输入负数,请显示一个提示信息


# dog_age = float(input('请输入狗的年龄:'))

# like_person_age = 0

# 检查用户输入的是否是负数

# if dog_age < 0 :

#     print('你的输入不合法!')

# # 如果狗的年龄在两岁以下(包含两岁)

# elif dog_age <= 2 :

#     # 直接将当前的年龄乘以10.5

#     like_person_age = dog_age * 10.5

# # 如果狗的年龄在两岁以上

# else :

#     # 计算前两岁相当于人类的年纪

#     like_person_age = 2 * 10.5

#     # 计算超过两岁的部分相对于人类的年纪,并进行相加

#     like_person_age += ( dog_age - 2 ) * 4


# if dog_age > 0 :

#     print(dog_age,'岁的狗,年纪相当于',like_person_age,'岁的人')

#      


# 在if也可以去嵌套if,代码块是可以嵌套的,每增加一个缩进的级别,代码块就低一级

# 检查用户的输入是否合法

# if dog_age > 0 :

#     # 如果狗的年龄在两岁以下(包含两岁)

#     if dog_age <= 2 :

#         # 直接将当前的年龄乘以10.5

#         like_person_age = dog_age * 10.5

#     # 如果狗的年龄在两岁以上

#     else :

#         # 计算前两岁相当于人类的年纪

#         like_person_age = 2 * 10.5

#         # 计算超过两岁的部分相对于人类的年纪,并进行相加

#         like_person_age += ( dog_age - 2 ) * 4


#     print(dog_age,'岁的狗,年纪相当于',like_person_age,'岁的人')

# else :

#     print('请输入一个合法的年龄!')



# 练习4:

#     从键盘输入小明的期末成绩:

#         当成绩为100时,'奖励一辆BMW'

#         当成绩为[80-99]时,'奖励一台iphone'

#         当成绩为[60-79]时,'奖励一本参考书'

#         其他时,什么奖励也没有


# 获取小明的成绩

# score = float(input('请输入你的期末成绩(0-100):'))


# # 打印分割线

# print("="*40)


# # 检查用户的输入是否合法

# if 0 <= score <= 100 :

#     # 判断发给的奖励

#     if score == 100 :

#         print('宝马,拿去玩!')

#     elif score >= 80 :

#         print('苹果手机,拿去玩!')

#     elif score >= 60 :

#         print('参考书,拿去玩!')

#     else :

#         print('棍子一根!')

# else :

#     # 用户输入的不合法,弹出一个友好提示

#     print('你输入的内容不合法,拉出去毙了!')



# 练习5:

#     大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:

#         高:180cm以上; 富:1000万以上; 帅:500以上;

#         如果这三个条件同时满足,则:'我一定要嫁给他'

#         如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'

#         如果三个条件都不满足,则:'不嫁!'


# 获取用户的三个数据,身高、财富、颜值

height = float(input('请输入你的身高(厘米):'))

money = float(input('请输入你的财富(万):'))

face = float(input('请输入你的颜值(平方厘米):'))


# 判断到底嫁不嫁

# 如果这三个条件同时满足,则:'我一定要嫁给他'

if height > 180 and money > 1000 and face > 500 :

   print('我一定要嫁给他!')

# 如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'

elif height > 180 or money > 1000 or face > 500 :

   print('嫁吧,比上不足,比下有余。')

# 如果三个条件都不满足,则:'不嫁!'

else :

   print('不嫁!')

# 循环语句

# 循环语句可以使指定的代码块重复指定的次数

# 循环语句分成两种,while循环 和 for循环

# while循环

# 语法:

#   while 条件表达式 :

#       代码块

#   else :

#       代码块

# 执行流程:

#   while语句在执行时,会先对while后的条件表达式进行求值判断,

#       如果判断结果为True,则执行循环体(代码块),

#       循环体执行完毕,继续对条件表达式进行求值判断,以此类推,

#       直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块


# 条件表达式恒为True的循环语句,称为死循环,它会一直运行,慎用!

# while True :

#     print('hello')


# 循环的三个要件(表达式)

# 初始化表达式,通过初始化表达式初始化一个变量

# i = 0


# # 条件表达式,条件表达式用来设置循环执行的条件

# while i < 10 :

#     print(i)

#     # 更新表达式,修改初始化变量的值

#     i += 1


# 创建一个执行十次的循环

i = 0

while i < 10 :

   i += 1

   print(i,'hello')

else :

   print('else中的代码块')


# 求100以内所有的奇数之和

# 获取所有100以内数

# i = 0

# # 创建一个变量,用来保存结果

# result = 0

# while i < 100 :

#     i += 1

#     # 判断i是否是奇数

#     if i % 2 != 0:

#         result += i


# print('result =',result)


# 获取100以内所有的奇数

# i = 1

# while i < 100:

#     print(i)

#     i += 2


# 求100以内所有7的倍数之和,以及个数

i = 7  

# 创建一个变量,来保存结果

result = 0

# 创建一个计数器,用来记录循环执行的次数

# 计数器就是一个变量,专门用来记录次数的变量

count = 0

while i < 100:

   # 为计数器加1

   count += 1

   result += i

   i += 7    


print('总和为:',result,'总数量为:',count)

# 水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1**3 + 5**3 + 3**3 = 153)。

# 求1000以内所有的水仙花数


# 获取1000以内的三位数

i = 100

while i < 1000:


   # 假设,i的百位数是a,十位数b,个位数c

   # 求i的百位数

   a = i // 100

   # 求i的十位数

   # b = i // 10 % 10

   b = (i - a * 100) // 10

   # 求i的个位数字

   c = i % 10

   # print(i , a , b , c)

   

   # 判断i是否是水仙花数

   if a**3 + b**3 + c**3 == i :

       print(i)

   i += 1

# 获取用户输入的任意数,判断其是否是质数。

num = int(input('输入一个任意的大于1的整数:'))


# 判断num是否是质数,只能被1和它自身整除的数就是质数

# 获取到所有的可能整除num的整数

i = 2

# 创建一个变量,用来记录num是否是质数,默认认为num是质数

flag = True

while i < num:

   # 判断num能否被i整除

   # 如果num能被i整除,则说明num一定不是质数

   if num % i == 0 :

       # 一旦进入判断,则证明num不是质数,则需要将flag修改为false

       flag = False

   i += 1


if flag :

   print(num,'是质数')

else :

   print(num,'不是质数')

# 在控制台中打印如下图形

# *****

# *****

# *****

# *****

# *****

#  


# 创建一个循环来控制图形的高度

# 循环嵌套时,外层循环没执行一次,内存循环就要执行一圈

# i = 0

# while i < 5:

#     # 创建一个内层循环来控制图形的宽度

#     j = 0

#     while j < 5:

#         print("* ",end='')

#         j += 1

#     print()

#     i += 1


#

# *     j<1   i=0

# **    j<2   i=1    

# ***   j<3   i=2

# ****  j<4   i=3

# ***** j<5   i=4

#  

# *****

# ****

# ***

# **

# *

i = 0

while i < 5:

   j = 0

   while j < i + 1:

       print("* ",end='')

       j += 1

   print()

   i += 1

# 练习1:

#   打印99乘法表

#   1*1=1

#   1*2=2 2*2=4

#   1*3=3 2*3=6 3*3=9

#   ...                 9*9=81


# 创建一个外层循环来控制图形的高度

i = 0

while i < 9:

   i += 1

   

   # 创建一个内层循环来控制图形的宽度

   j = 0

   while j < i:

       j += 1

       print(f"{j}*{i}={i*j} ",end="")


   print()

# 求100以内所有的质数

# 创建一个循环,求1-100以内所有的数

i = 2

while i <= 100:

   

   # 创建一个变量,记录i的状态,默认认为i是质数

   flag = True


   # 判断i是否是质数

   # 获取所有可能成为i的因数的数

   j = 2  

   while j < i:

       # 判断i能否被j整除

       if i % j == 0:

           # i能被j整除,证明i不是质数,修改flag为False

           flag = False

       j += 1

   # 验证结果并输出

   if flag :

       print(i)    


   i += 1

# break

# break可以用来立即退出循环语句(包括else)

# continue

# continue可以用来跳过当次循环

# break和continue都是只对离他最近的循环起作用

# pass

# pass是用来在判断或循环语句中占位的


# 创建一个5次的循环

# i = 0

# while i < 5:

#     if i == 3:

#         break

#     print(i)

#     i += 1

# else :

#     print('循环结束')


# i = 0

# while i < 5:

#     i += 1

#     if i == 2:

#         continue

#     print(i)

# else :

#     print('循环结束')


i = 0

if i < 5:

   pass

# 模块,通过模块可以对Python进行扩展

# 引入一个time模块,来统计程序执行的时间

from time import *

# time()函数可以用来获取当前的时间,返回的单位是秒

# 获取程序开始的时间

# 优化前:

#   10000个数 12.298秒

#   100000个数 没有结果

# 第一次优化

#   10000个数 1.577秒

#   100000个数 170.645秒

# 第二次优化

#   10000个数 0.068秒

#   100000个数 1.646秒

#

# 36的因数

#   2 18

#   3 12

#   4 9

#   6 6

#    

begin = time()


i = 2

while i <= 100000:

   flag = True

   j = 2  

   while j <= i ** 0.5:

       if i % j == 0:

           flag = False

           # 一旦进入判断,则证明i一定不是质数,此时内层循环没有继续执行的必要

           # 使用break来退出内层的循环

           break

       j += 1

   if flag :

       # print(i)  

       pass

   i += 1


# 获取程序结束的时间

end = time()


# 计算程序执行的时间

print("程序执行花费了:",end - begin , "秒")

# 显示欢迎信息

print('-'*20,'欢迎光临《唐僧大战白骨精》','-'*20)


# 显示身份选择的信息

print('请选择你的身份:')

print('\t1.唐僧')

print('\t2.白骨精')

# 游戏的身份选择

player_choose = input('请选择[1-2]:')


# 打印一条分割线

print('-'*66)


# 根据用户的选择来显示不同的提示信息

if player_choose == '1':

   # 选择1

   print('你已经选择了1,你将以->唐僧<-的身份来进行游戏!')

elif player_choose == '2':

   # 选择2

   print('你竟然选择了白骨精,太不要脸了,你将以->唐僧<-的身份来进行游戏!')

else :

   # 选择3

   print('你的输入有误,系统将自动分配身份,你将以->唐僧<-的身份来进行游戏!')


# 进入游戏


# 创建变量,来保存玩家的生命值和攻击力

player_life = 2 # 生命值

player_attack = 2 # 攻击力


# 创建一个变量,保存boss的生命值和攻击力

boss_life = 10

boss_attack = 10


# 打印一条分割线

print('-'*66)

# 显示玩家的信息(攻击力、生命值)

print(f'唐僧,你的生命值是 {player_life} , 你的攻击力是 {player_attack}')


# 由于游戏选项是需要反复显示的,所以必须将其编写到一个循环中

while True :

   # 打印一条分割线

   print('-'*66)

   # 显示游戏选项,游戏正式开始

   print('请选择你要进行的操作:')

   print('\t1.练级')

   print('\t2.打BOSS')

   print('\t3.逃跑')

   game_choose = input('请选择要做的操作[1-3]:')


   # 处理用户的选择

   if game_choose == '1' :

       # 增加玩家的生命值和攻击力

       player_life += 2

       player_attack += 2

       # 显示最新的信息

       # 打印一条分割线

       print('-'*66)

       # 显示玩家的信息(攻击力、生命值)

       print(f'恭喜你升级了!,你现在的生命值是 {player_life} , 你的攻击力是 {player_attack}')

   elif game_choose == '2' :

       # 玩家攻击boss

       # 减去boss的生命值,减去的生命值应该等于玩家的攻击力

       boss_life -= player_attack  


       # 打印一条分割线

       print('-'*66)

       print('->唐僧<- 攻击了 ->白骨精<-')

       # 检查boss是否死亡

       if boss_life <= 0 :

           # boss死亡,player胜利,游戏结束

           print(f'->白骨精<-受到了 {player_attack} 点伤害,重伤不治死了,->唐僧<-赢得了胜利!')

           # 游戏结束

           break


       # boss要反击玩家

       # 减去玩家的生命值

       player_life -= boss_attack  

       print(' ->白骨精<- 攻击了 ->唐僧<-')

       # 检查玩家是否死亡

       if player_life <= 0 :

           # 玩家死亡

           print(f'你受到了 {boss_attack} 点伤害,重伤不治死了!GAME OVER')

           # 游戏结束

           break

   elif game_choose == '3' :

       # 打印一条分割线

       print('-'*66)

       # 逃跑,退出游戏

       print('->唐僧<-一扭头,撒腿就跑!GAME OVER')

       break

   else :

       # 打印一条分割线

       print('-'*66)

       print('你的输入有误,请重新输入!')



标签:语句,python,age,笔记,else,while,num,print,输入
From: https://blog.51cto.com/u_15149372/5922994

相关文章

  • python123_第七周练习_程序设计题
    羽毛球计分规则:1.21分制,3局2胜为佳2.每球得分制3.每回合中,取胜的一方加1分4.当双方均为20分时,领先对方2分的一方赢得该局比赛5.当双方均为29分时,先取得30......
  • 「文化课」一个政治学考的笔记
    首先,我没上过高中政治常规课。所有制:公有(\(\neq\)国有)制为主体,多种所有制经济共同发展。提高国有占国民经济比重影响力、竞争力、控制力。公&非公:二者在社会主义市......
  • 前端笔记_3_页面变灰
    html{-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);-webkit-filter:grayscale(1);-webkit-filter:......
  • 用python计算圆周率PI
    描述用python计算圆周率PI要求能算到小数点后面越多越好(5分)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪......
  • Python7段数码管绘制
    #七段数码管绘制importturtleastimporttimeasTdefdrawGap():#绘制数码管的间隔t.penup()t.fd(5)defdrawLine(draw):#绘制单段数码管,draw为True时,则实......
  • Github Actions 学习笔记
    GithubActions是什么?GithubActions官方介绍:GitHubActions是一个持续集成和持续交付(CI/CD)平台,允许您自动化构建、测试和部署管道。您可以创建构建和测试存储库中的每......
  • Python 7段数码管绘制
    #七段数码管绘制importturtleastimporttimeasTdefdrawGap():#绘制数码管的间隔t.penup()t.fd(5)defdrawLine(draw):#绘制单段数码管,draw为True时,则实......
  • zlib使用笔记
    zlib使用过程compress压缩过程:deflateInit()->deflate()->deflateEnd(); uncompress对应的解压过程inflateInit()-> inflate()-> inflateEnd(); compre......
  • Python全栈工程师之从网页搭建入门到Flask全栈项目实战(5) - Flask中的ORM使用
    1.理解ORMORM是MTV模型里面的Model模型ORM(ObjectRelationalMapping),对象关系映射举例:学生选课学生和课程这两个实体,一个学生可以选择多门课程,一个课程可以被多名......
  • 自动化测试高手课-学习笔记
    课程链接github链接Job框架1自动化测试我对自动化测试架构师的定义是,不仅仅是写代码让自动化测试跑起来,而且能够超脱于工具框架的层面,对测试需求和自动化ROI一起抽......