Bootstrap

第1001次python入门——Day03

条件判断语句

# python里的条件判断语句 if / if else /if elif elif else
# python里不支持 switch...case 条件语句


# if
# if...else

age = int(input('请输入你的年龄:'))
if age <= 18:  # 字符串与数字做比较运算:== (True)  != (False)
    print('未满18岁禁止入内')
else:
    print('欢迎')

if语句的练习

# 写出判断一个数是否能同时被4和6 整除的条件语句,并打印对应结果
num = int(input('请输入一个数字:'))

# if num % 4 == 0 and num % 6 == 0:
#     print('可以同时被4,6整除')

if (num % 3 == 0 or num % 7 == 0) and (num % 21 != 0):
    print('能被3或7整除,但不能同时被3和7整除')
else:
    print('bad')

# 输入年,判断是否为闰年,并且打印对应结果。(能被4整除,但不能被100整除或能够被400整除)
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(year, '是一个闰年')
else:
    print('不是一个闰年')

# 15678是多少小时,多少分,多少秒
x = 15678
hour = x // 3600
minute = x % 3600 // 60
second = x % 60
print(hour, minute, second)

# 定义两个变量保存一个人的身高体重,编程实现判断这个人的身材是否正常
# 公式: ’体重/身高的平方值‘ 在18.5 ~ 24.9之间属于正常值
weight = float(input('请输入您的体重(kg)'))
height = float(input('请输入您的身高(m)'))
BMI = weight / height ** 2
if 18.5 < BMI < 24.9:
    print('您的身高体重正常')

if…elif…elif语句的使用

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

#多个if语句,语句之间,不存在关联,也就是其他的if语句还会继续执行

if 60 > score >= 0:
    print('你个垃圾')
elif 80 > score >= 60:
    print('一般般')
elif 90 > score >= 80:
    print('还不错')
elif 100 >= score > 90:
    print('好棒棒哦')
else:
    print('请输入你的考试成绩!!')

if语句的嵌套

# if语句再嵌套if

# python语言里,使用强制缩进来表示语句之间的结构
ticket = input('是否买票了?Y/N')
if ticket == 'Y':
    print('买票了,可以进站')
    safe = input('安检是否通过?Y/N')
    if safe == 'Y':
        print('安检通过了,进候车室')
    else:
        print('进站了,但安检没通过')
else:
    print('赶紧买票,滚蛋!')

pass关键字的使用

# pass 关键字在python里没有意义,只是单纯地用来占位,保证语句完整性

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

if age > 18:
#    print('欢迎来到我的网站')
    pass  #使用pass进行占位,没有意义,单纯为了完整性使程序不报错
print('hello')

猜拳游戏

import random
# =等号在计算机编程里面,赋值运算符,作用是将等号右边的值赋给等号左边
# 如果想要判断两个变量是否相等,不能使用赋值运算符,而要使用 == 比较运算符
player = int(input('请输入 (0)剪刀 (1)石头 (2)布'))
print('用户输入的是', player)

# input 是用来接收用户输入的数据
# 电脑应该随机的出一个数字 [0,2]
# 需要使用到随机数模块 random
# random.randint(a,b) ==> 能够生成[a,b]的随机整数
computer = random.randint(0, 2)
print('电脑出的是', computer)

if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
    print('恭喜你,你赢了!!!')
elif player == computer:
    print('平局')
else:
    print('你输了,电脑赢了')

if语句的注意点

#1.区间判断

score = float(input('请输入你的成绩:'))
# 在某些语言里,判断区间不能连写
# 在有些语言里,需要使用逻辑运算符来连接 score >= 0 and score < 60
# python里可以使用连续的区间判断
if 60 > score >= 0:
    print('你个垃圾')

# 2.隐式类型转换
if 4:  #if 后面需要的是一个bool类型的值.如果if后面不是布尔类型,会自动转换成布尔类型
    print('hello world')

# 3.三元表达式(对if...else语句的简写)
num1 = int(input('请输入一个数字:'))
num2 = int(input('请再输入一个数字:'))

# if num1 > num2:
#     x = num1
# else:
#     x = num2
x = num1 if num1 > num2 else num2
print('两个数里的较大数是', x)

循环语句的基本使用

# 循环就是让一件事情重复多次
# python里的循环分为 while 循环和 for 循环
# python里不支持do...while循环
# x++ Python里没有自增自减运算符


# while循环的基本使用
# while判断条件:
#   条件成立时执行的代码
x=0
while x < 10:
    print('hello world',x)
    x += 1

while练习

# 求1 到100所有整数之和
# x = 0
# result = 0 #定义一个变量用来保存所有数字之和
# while x < 100:
#     x = x + 1
#     print(x)
#     result = result + x
# print(result)

# 求1~100所有偶数和
# i = 0
# result = 0
# while i < 100:
#     i += 1
#     if i % 2 == 0:
#         result = result + i
# print(result)

#求35到987之间所有整数和
i = 34
result = 0
while i < 987:
    i += 1
    result = result + i
print(result)

for…in循环的使用

# python里的for循环指的是for...in循环。和C语言的for不一样
# for语句格式:for ele in iterable

# range 内置类用来生成指定区间的整数序列(列表)
#注意:in的后面必须是一个可迭代对象!!!
#目前接触的可迭代对象:字符串,列表,字典,元组,集合,range
for i in range(1, 11):
    print(i)

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(x)
for y in 'hello':
    print(y)

# 用for循环进行循环加
result = 0
for z in range(1, 101):
    result += z
print(result)

break和continue关键字的使用

# break和continue在python里只能用于循环语句里

# break用来结束整个循环
# continue用来结束本轮循环,开启下一轮循环

#continue
# i = 0
# while i < 10:
#     if i == 6:
#         continue
#     print(i)
#     i += 1

#break
# i = 0
# while i < 10:
#     if i == 6:
#         break
#     print(i)
#     i += 1
#


# 不断询问用户,我爱你,你爱我吗?只要答案不是爱就一直问,直到答案是爱
# x = 0
# while x != '爱':
#     x = input("我爱你,你爱我吗?")

# 不断让用户输入用户名密码,只要用户名不是zhangsan,密码不是123,就一直问

while True:
    username = input('请输入用户名:')
    passwd = input('请输入密码:')
    if username == 'zhangsan' and passwd == '123':
        break

嵌套打印矩形

# python用一个循环就可以打印星星三角形
# i = 0
# while i < 5:
#     i += 1
#     print('*' * i, end = '\n')

#笨办法打印五行五个星星
print("*", end='   ')   # 以end后面的值作为换行字符
print("*", end='   ')
print("*", end='   ')
print("*", end='   ')
print("*", end='   ')
print()      #用来换行

#打印一行星星
i = 0
while i < 5:
    i += 1
    print("*", end='   ')
print()

#外循环用来控制行数,内循环控制每行有多少列
#循环打印五行五个星星
j = 0
while j < 5:  #打印j行星星
    j += 1
    k = 0
    while k < 5:  #一行有k个星星
        k += 1
        print("*", end='   ')
    print()

嵌套打印三角形

j = 0
while j < 9:
    j += 1
    k = 0
    while k < j:
        k += 1
        print('*', end=' ')
    print()

打印99乘法表

i = 0
while i < 9:
    i += 1
    j = 0
    while j < i:
        j += 1
        print(j, "*", i, "=", i*j, sep='', end='\t')
    print()
;