03.Python基础2

1.Python语句

1.1行

(1) 物理行:程序员编写代码的行。

(2) 逻辑行:python解释器需要执行的指令。

(3) 建议: 一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。

(4) 换行: 如果逻辑行过长,可以使用隐式换行或显式换行。

隐式换行:所有括号的内容换行,称为隐式换行 括号包括: () [] {} 三种

显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的

语句。

python 复制代码
 # 4个物理行 4个逻辑行
a = 1
b = 2
c = a + b
print(c)
# 1个物理行 4个逻辑行(不建议)
a = 1;b = 2;c = a + b;print(c)

 # 4个物理行 1个逻辑行
# -- 换行符
d = 1+\
    2+\
    3+4\
    +5+6
 # -- 括号
e = (1+2+
     3+4
     +5+
     6)

print(d)
print(e)

1.2选择语句

1.2.1 if else 语句

(1) 作用: 让程序根据条件有选择性的执行

(2) 语法:

练习: 在终端中输入体温,如果在36到37之间,输出正常,否则异常。

python 复制代码
in_wd=float(input("请输入您的体温:"))
if 36 <= in_wd <= 37:
    print(f"您的体温是{in_wd:.2f}度是正常的")
else:
    print(f"您的体温是{in_wd:.2f}度是异常的")

1.2.2 省略else

python 复制代码
in_wd=float(input("请输入您的体温:"))
if 36 <= in_wd <= 37:
    print(f"您的体温是{in_wd:.2f}度是正常的")

练习:

python 复制代码
"""练习:
在终端中输入课程阶段数,显示课程名称
效果:
输入:        输出:
1           Python语言核心编程
2           Python高级软件技术
3           Web 全栈
4           人工智能
"""
in_num=int(input("请输入你的课程阶段:"))
if in_num == 1:
    print("Python语言核心编程")
if in_num == 2:
    print("Python高级软件技术")
if in_num == 3:
    print("Web 全栈")
if in_num == 4:
    print("人工智能")
else:
    print("输入阶段错误")

1.2.3 elif

练习:

python 复制代码
# 在终端中输入一个数字,判断后输出正数或者负数或者零。
in_num=int(input("请输入一个整数:"))
if in_num > 0:
    print(f"您输入的整数是正数")
elif in_num < 0:
    print(f"您输入的整数是负数")
elif in_num == 0:
    print(f"您输入的是整数0")
else :
    print("输入有误")

1.2.4 if嵌套

练习:

python 复制代码
"""
在终端中输入月份,打印相应的天数.
 1 3 5 7 8 10 12 有 31天
2 有 29天
4 6 9 11 有 30天
超过月份提示月份有误
效果:
请输入月份:10
 31天
 """

in_mon=int(input("请输入您查询天数的月份:"))


if 1 <= in_mon <= 12:
    if in_mon == 2:
        print("2月有28天")
    elif in_mon == 2 or in_mon == 4 or in_mon == 6 or in_mon == 11 or in_mon == 9:
        print(f"{in_mon}月有30天")
    else:
        print(f"{in_mon}月有31天")
else:
    print("您输入的有误")

1.3.循环语句

1.3.1 while语句

python 复制代码
in_cont=input("请输入你的选项:")
while in_cont == "y":
    number = int(input("请输入数字:"))
    if number > 0:
        print("正数")
    elif number < 0:
        print("负数")
    else:
        print("零")

循环计数

练习

python 复制代码
"""
在终端中显示0 1 2 3
在终端中显示2 3 4 5 6
在终端中显示1 3 5 7
在终端中显示8 7 6 5 4
在终端中显示-1 -2 -3 -4 -5

"""
count1=0
while count1 <=4 :
    print(count1)
    count1+=1

count = 2
while count <= 10:
    print(count)
    count += 2

count = -1
while count >= -5:
    print(count)
    count -= 1

count = 2
while count <= 32:
    print(count)
    count *= 2

练习

python 复制代码
"""一张纸的厚度是0.01毫米
请计算,对折多少次超过珠穆朗玛峰(8848.43米)
思路:
数据:厚度、高度、次数
算法:厚度*=2
次数+=1"""

paper=0.01
count=0

while paper < 8848.43*1000 :
    paper*=2
    count+=1
    if paper >8848.43*1000:
        print(f"一张纸对折{count}次超过珠穆朗玛峰")

练习

python 复制代码
"""程序产生1个,1到100之间的随机数。
让玩家重复猜测,直到猜对为止。
每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
效果:
请输入要猜的数字:50
大了
请输入要猜的数字:25
小了
请输入要猜的数字:35
大了
请输入要猜的数字:30
小了
请输入要猜的数字:32
恭喜猜对啦,总共猜了5次"""

import  random

in_num = int(input("请输入您猜的数字,范围是1-100以内:"))
in_rdm_num=random.randint(1,100)


count=0
while True:
    if in_rdm_num > in_num :
        print("您输入的数字小了")
        count += 1
        in_num = int(input("请再次输入您猜的数字,范围是1-100以内:"))

    elif in_rdm_num < in_num :
        print("您输入的数字大了")
        count += 1
        in_num = int(input("请输再次入您猜的数字,范围是1-100以内:"))

    else:
        print(f"恭喜您猜对了,数字是:{in_num}总共猜了{count}次")
        break

1.4 for 语句

python 复制代码
# 写法1:range(开始,结束,间隔)
# 注意:不包含结束值
for item in range(1, 3, 1):
    print(item)
# 写法2:range(开始,结束)
# 注意:间隔默认为1
for item in range(1, 3):
    print(item)
# 写法3:range(结束)
# 注意:开始默认为0
for item in range(3):
    print(item)

练习

python 复制代码
"""在终端中累加 0 1 2 3
在终端中累加 2 3 4 5 6
在终端中累加 1 3 5 7
在终端中累加 8 7 6 5 4
在终端中累加 -1 -2 -3 -4 -5"""
sum = 0
for num in range(0, 4):
    sum =sum + num
print(sum)

sum = 0
for num in range(2, 7):
    sum =sum + num
print(sum)

sum = 0
for num in range(1, 8, 2):
    sum =sum + num
print(sum)

sum = 0
for num in range(9, 5, -1):
    sum =sum + num
print(sum)


sum = 0
for num in range(-1, -6, -1):
    sum = sum + num
print(sum)

练习

python 复制代码
# 一张纸的厚度是0.01毫米请计算,对折15次的厚度是多少毫米

# 1 0.01
# 2 0.01 *2
# 3 0.02 *2
# 4 0.04 *2
# 5 0.08 *2
# 6 0.16 *2


sum=0.01
for paper  in range(1,16,1):
    sum*=2
    print(sum)

练习

python 复制代码
# 程序产生一个1到100之间的随机数,让玩家最多重复猜5次


import  random

num=random.randint(1,100)

count=0
for count in range(1,6,1):
    in_num = int(input("请输入您猜的1-100内的随机数:"))
    if num == in_num:
        print(f"恭喜您猜对了,总共猜了{count}次")
        break
else:
    print(f"您已经猜了5次不能再猜哦")

1.5对比

复制代码
while循环
  擅长于根据条件重复
  例如纸张对折到珠穆朗玛峰
for循环
  擅长于根据次数重复
  例如纸张对折15次

1.6跳转语句

1.6.1break语句

复制代码
跳出循环体,后面的代码不再执行。

1.6.2continue 语句

(1) 跳过当前循环体中剩余代码,继续执行下一次循环

python 复制代码
# 需求:累加1-100之间能被3整除的数字
# 思想:不满足条件跳过,否则累加.
sums = 0
for num in range(1,101,1):

    if num % 3 == 0:
        sums+=num

print(sums)

sums = 0
for num in range(1,101,1):

    if num % 3 != 0:
        continue
    sums+=num

print(sums)

练习

python 复制代码
# 累加10 -- 60之间,个位不是3/5/8的整数和

sums=0
for num in range(10,61):
    if num % 10 == 3 or num % 10 == 5 or  num % 10 == 8:
        continue
    sums+=num
print(sums)
相关推荐
每次的天空27 分钟前
kotlin与MVVM的结合使用总结(二)
android·开发语言·kotlin
Imagine Miracle34 分钟前
【Rust】枚举和模式匹配——Rust语言基础14
开发语言·后端·rust
无名之逆35 分钟前
探索 Rust 高效 Web 开发:Hyperlane 框架深度解析
开发语言·后端·算法·面试·rust
Firmin12345637 分钟前
使用Flask和OpenCV 实现树莓派与客户端的视频流传输与显示
python·opencv·flask
rockmelodies1 小时前
基于Python的端口扫描器和目录扫描工具实现方案,结合机器学习进行指纹识别
人工智能·python·机器学习
轩宇^_^1 小时前
C++ 布尔类型(bool)深度解析
开发语言·c++
是十一月末1 小时前
Opencv之掩码实现图片抠图
人工智能·python·opencv·计算机视觉·图片识别
byxdaz1 小时前
QT编程之OSG
开发语言·qt
阿_星_1 小时前
解决pip install 出现error: subprocess-exited-with-error的问题
开发语言·python·pip
Hum8le1 小时前
CTF题目《SSRFMe》(网鼎杯 2020 玄武组)WriteUp
redis·python·安全·web安全·php