从0开始学Python-day4-条件和循环


Python 输入和输出

1、输出

print()内置函数提供在控制台输出打印数据。传入的是数据直接量/变量(报错是为了防止野指针),打印是一种取值操作。传入的直接量或者变量都称为数据:可以传入一个或者多个数据,用逗号隔开。

# 基本输出
print("Hello, World!")  # 输出简单的字符串
​
# 输出变量的值
name = "Alice"
age = 25
print(name, age)  # 直接输出变量
​
# 使用sep参数设定分隔符
print("apple", "banana", "cherry", sep=", ")  # 以逗号加空格作为分隔符输出多个字符串
​
# 使用end参数改变输出结束符
print("Line 1", end=" --- ")
print("Line 2")  # 连续打印时,第二行不会自动换行

2、输入

input() 内置函数从标准输入读取文本,默认的标准输入是键盘。#会让程序停止在这里,暂时不执行后面的代码,等待用户在控制台输入,输入完毕后(用户敲回车),这个函数就会生成结果(用户输入的文字),input每次执行都是独立的,调用一次,就执行一次它的功能。input是一开始就会打印/渲染出来的数据。

str = input("请输入:")#程序到这里不会继续往下执行,等待用户输入完毕后继续执行
print ("你输入的内容是: ", str)

条件语句

表达式

1.if

if 表达式:

执行体代码(1行或者多行),每一行要对齐,不能跟if这个单词对齐(对齐就表示是新的执行体语句)

1.if后面的表达会判定为布尔值:判定就是指隐式代码 bool(表达式)

2.如果判定的结果为True,就会执行if语句的执行体,如果为False,就不会执行if语句的执行体

a=22
b=10
c=a and b #c= 如果bool(a)是真 c=b 如果bool(a)是假 c=a ==>c=10
if c:#隐式代码bool(a and b) ==>bool(10)==>True
    print(c)#
print(111)
#打印 10
    #111
 if 10:
     a=20#声明变量并赋值
print(a)#报错

if condition:

# 当条件为真时执行这里的代码,否则不执行这里

year=1993
if year%4==0:
    print("year能被4整除")

2.if-else

if condition:

# 当条件为真时执行这里的代码

else:

# 如果前面的条件都为假,执行这里的代码

year=1993
if year%4==0:
    print("year能被4整除")
else:
    print("year不能被4,400整除")
money=10
age=1
if money>1:
    if age<1:
        print("太小了,钱虽然够了,但是年龄不够,不准吃馒头")
    print("可以买馒头吃")
else:
    print("饿肚子")

3.if-elif-else

if condition:

# 当条件为真时执行这里的代码

elif another_condition:

# 当上面条件为假,而这个条件为真时执行这里的代码

else:

# 如果前面的条件都为假,执行这里的代码

year=1992
if year%4==0:
    print("year能被4整除")
elif year%400==0:
    print("year能被400整除")
else:
    print("year不能被4,400整除")
#新人最常见的代码的逻辑bug
vip=1
if vip==1:
    print("v1用户,牛皮")
    print(vip)
    vip=3
elif vip==2:
    print("尊贵的v2用户,牛皮")
elif vip ==3:
    print("尊贵的v3用户,牛皮")
vip=1
if vip==1:#条件的表达式执行后的布尔判定的结果为真后,就不会执行elif后面的条件表达式
    print("v1用户,牛皮")
    vip=2
elif vip==2:
    print("尊贵的v2用户,牛皮")
vip=1
if vip==1:#条件的表达式执行后的布尔判定的结果为真后,就不会执行elif后面的条件表达式,为假才会执行下一个elif后面的条件表达式
    print("v1用户,牛皮")
elif vip==2:
    print("尊贵的v2用户,牛皮")
elif vip == 3:
    print("尊贵的v3用户,牛皮")
else:
    print("啥也不是")
vip=2
age=19
if vip==1:
    print("v1用户,牛皮")
    vip=2
elif age>=18:
    print("成年了")
elif vip == 2:
    print("尊贵的v2用户,牛皮")
else:
    print("啥也不是")
    #输出:
    #成年了

循环语句

循环语句有两种:已知循环次数 已知循环条件

1.range函数

用于生成一个整数序列,序列中的每个元素按照指定的步长递增(默认步长为1)。这个函数并不会真正创建一个列表,而是返回一个可迭代的对象——range对象。当你在循环中使用它时可以遍历内部的元素

range(stop) range(start, stop) range(start, stop, step)

参数说明:

  • start(可选):序列的起始值,默认是0。

  • stop:序列的停止值,序列不会包含此值。

  • step(可选):每次迭代增加的步长,默认是1。

  • #range(5)有三个参数:
    #填一个参数 0-填的那个参数,不包含结尾的数
    #填二个参数 第1个填的那个参数到第二个参数,不包含结尾的数
    #填三个参数 第1个填的那个参数到第二个参数,不包含结尾的数,第三个参数是步长,默认为1
        arr=range(5,8)#arr是一个数据容器(迭代器),可以用循环语句去取出它里面的数据
        print(arr)
        for el in arr:
            print(el,'111111')
# 1.打印下面列表中的每一个数据
# 2.判断列表中的每一个数据,是偶数就打印 10-偶数 奇数就打印 23-奇数
arr=[10,23,23,4,234,34]
for x in arr:
    print(x)
    if x%2==0:
        print(f"{x}-偶数")
    else:
        print(f"{x}-奇数")
#有一个列表全是数字 求列表中的所有数字的和
arr=[1,23,2,3,2,3,2,3,34]
sum=0
for i in arr:
    sum=i+sum#1 24
print(sum)

2.for-in 循环

for 循环 用于迭代遍历可迭代对象(如列表、字符串、字典等):

fruit = ['apple', 'pear', 'orange', 'banana']
for item in fruit:
  print(item)
    
#循环数字范围  
for i in range(1, 10, 2):
    #隐式代码i=3
    print(i)
    i += 2
    print(i)#每一次for循环都会重新归零去取容器里面的值
    
    
j=0
for i in [2,3,4,5]:
    #隐式代码i=3
    print(i)
    j+= i#i=5
    print(j)#j取的是for循环外面的值
    
    
#可以反向递减的   
for i in range(20, 10, -2):
    print(i)
    i += 2  
#如果 n是1 判断它是否大于1000而且是闰年 不是的话就加17,求第一个满足这个情况的数字是多少

3.while 循环

while 循环 在条件为真时重复执行代码块

x=13
while x>10:#只要表达式为真,就一直执行这个代码
    print(x)
    x-=1
#打印 49 51 53 ....101
x=49
for i in range()#确定要循环多少次
    print(x)
    x+=2
    
x=49
while x<=101:
    print(x)
    x+=2
#如果 n是1 判断它是否大于1000而且是闰年 不是的话就加17,求第一个满足这个情况的最小数字是多少
n=1
while n<=1000 or not((n%4==0 and n%100!=0) or (n%400==0)):
    n+=17
print(n)
# 某人有100,000元,每经过-次路口,需要交费,规则如下:
#   1)当现金> 50000时每次交5%
#   2)当现金< = 50000时,每次交1000,
#  编程计算该人可以经过多少次路口,
​
money = 100000
n = 0
while money >= 1000:
    n += 1
    money = 0.95*money if money > 50000 else money - 1000
​
print('共可以过桥' + str(n) + '次')
​
count=0
money=100000
while money>=1000:
    count+=1
    if money>50000:
        money=money-money*0.05
    else:
        money=money-1000
print(count,f"还剩下:{money}元")

4.循环控制

  • break:用于跳出当前循环。

  • continue:用于跳过当前迭代,继续下一次迭代。

    for i in range(5):
        for j in range(4):
            if j==2:
                break
            print(j)
        print(i)#0 1 0 0 1 1 0 1 2 0 1 3 0 1 4
    ​
  • n=1
    while n<10:
        print(n)
        n+=1
        if n==5:
            break#break在哪个循环里面就让哪个循环停止下来
  • #判断这个列表中是否有奇数
    re=0
    arr=[10,2,31,23,12,3]
    for el in arr:
        if el%2==1:
            re=1
            break
            print(el)
    print(re)#通过re是0还是1来判断arr中是否有奇数
for i in range(1,20):
    if i%3==0:
       break
    print(i)
for i in range(1,20):
    if i%3==0:
       continue
    print(i)
for i in range(5):
    if i==3:
        continue #当前这次循环的时候 里面的所有任务执行到这个代码时就停止后面的任务执行 进入下一次循环
    print(i)

pass 语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句

for x in  range(10):
    if x == 7:
        pass
    else:
        print(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值