DAY 02

本文详细介绍了Python的基础知识,包括input函数、数据类型转换、运算符、比较运算符、赋值运算符、逻辑运算符、if选择语句、for循环、while循环以及字符串操作。同时,通过实例展示了如何利用这些基础知识解决实际问题,如计算投资翻倍年限、模拟弹簧球坠落反弹、找出最大数、计算数列和以及统计字符串中各类型字符数量。
摘要由CSDN通过智能技术生成

一.input()函数

     接收用户输入的值结果都是字符串类型

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

运行结果:

bd41ea4039b14496a1524263d0036baa.png 

二.数据类型的转换

     目标数据类型(要转的变量)

age = input("请输入您的年龄:")
# 数据类型的转换 目标数据类型(要转的变量)
age = (age)
print(age, type(age))

运行结果:

 7b544f90080b47e0b9a685c3014acabc.png

 注:

# # \n 换行符
# # \t tab键 python中默认是4个空格
# s = "你好\n数加"

运行结果:

4cea257364d84031a67ff7f8b66c52c5.png

 三.运算符

   算术运算符
   + - * / % ** //

a = 5
b = 10
print(a + b)
print(a - b)
print(a * b)
print(a / b)  # float类型,保留小数部分的
print(a % b)  # 取余数(取模)
print(a ** b)  # 次方幂
print(a // b)  # 整除,取整数部分,没有四舍五入(结果为0.5的结果取整数部分为0)

 

运行结果:

a334f045cc004e2491d2c355be31c782.png

 四.比较运算符

       结果是一个bool类型

a = 3
b = 4
print(a == b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
print(a != b)

运行结果:

e3eda03471e048b8bc9e9133efccb8fa.png

五.赋值运算符

# =  +=  -=  *=  /=  %=  **=  //=
# 需求:数字类型变量a自加1
# a = a++ # 在python中是没有++或者--的运算符

a = 10
b = 5
a = a + 1
print(a)
b += 1
print(b)

运行结果:

03ceb36ba0834d71bd5b4a92dc6682a9.png

六.逻辑运算符

# and 有False则False
# or 有True则True
# not 将True变成False,将False变成True

a = 5
b = 6
c = 7
print(a < b and b > c)
print(a < b or b > c)
print(not a < b)
print(a < b and (b > c or a > c) and c < a or b > a)  # True

 运行结果:

171ee5d1d3f140fc8acb3c841eb2ab48.png

 注:isinstance() 判断某个值是否是某个数据类型

b = 'a'
print(isinstance(b, int))

运行结果:

8aea3c4d4bec4556b7ff94a5d19da5a4.png

 七.if选择语句

# 语法定义格式
# if 判断条件表达式(bool类型的结果):
#   if语句体
# 需求:如果你是一个男生,就去男厕所

gender = "女"
if gender == "男":
    print("请去男厕所")
    print("请不要去女厕所")

# if语句另外一种格式:两个选择
if gender == "男":
    print("请去男厕所")
else:
    print("请去女厕所")

运行结果:

d4b44527c13347568da9a13aebe33247.png

 # if语句多分支的情况
# 判断分数的情况,不同的分数,不同的奖励

score:0-59 不及格 棍棒伺候
score:60-80 良好  奖励试卷一份
score:80-100 优秀 肯德基
score = int(input("请输入您的分数:"))
if 0 <= score < 60:
    print("不及格 棍棒伺候")
elif 60 <= score < 80:
    print("良好  奖励试卷一份")
elif 80 <= score <= 100:
    print("优秀 肯德基")
else:
    print("您输入的分数有误!!")

运行结果:

d5f9feab9c1a4d3681aca0b67330bc4b.png

八.if嵌套语句

# 需求:比较3个数中的最大值(if嵌套,今后开发中if的嵌套最多不要超过4层)

 

a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))
if a > b:
    if a > c:
        print(f"三个数中最大值为:{a}")
    else:
        print(f"三个数中最大值为:{c}")
else:
    if b > c:
        print(f"三个数中最大值为:{b}")
    else:
        print(f"三个数中最大值为:{c}")

运行结果:

08dbe731b5af4da7a6c5bb2f24218bc8.png

 九.for循环

for 变量名 in 序列:
    循环体语句
# python中提供了一个函数range(),可以创造对应的序列数字

for i in range(1, 11):
    print(f"数加科技{i}")

运行结果:

b6a6325017c746da86baf1f7deafbb87.png

十.for else格式

   

for i in range(10):
    if i == 3:
         continue
        #exit() # 强制退出python程序
    print(i)
else: # 当循环正常结束的时候才会执行
    print("你好")
print("hello world")

 运行结果:

fa274c00c88b4cf18b412a1f1ec082b5.png

 

# 使用for...else改进判断是否为素数

for i in range(2, 101):  # i=9
    for j in range(2, i):
        if i % j == 0:  # 如果能够被整除,就说明i这个数字不是素数
            print(f"数字{i}不是素数")
            break
    else:
        print(f"数字{i}是素数")

运行结果:

92812a9fd9e149a3bc7edc682fa2e9ca.png

 

 十一.while循环
    语句定义格式:
    while 循环的条件:
        循环体内容
 

# 打印count的值,直到count变量的值小于0为止
 count = 10
 while count >= 0:
     count -= 1
     print(count)

运行结果:

01bbc5c70a1747f68506bb08d6ec3a1a.png

十二.字符串详解

 字符串通俗的理解:由一个签子把一个一个字符串起来的串儿,叫字符串,每个字符的位置也就定下来了。 专业的理解:

        1、字符串是由零个或者多个字符串组成字符序列 "abcdefghi" 在python中使用双引号或者单引号都可以叫做字符串

         2、字符串具有不可变,有索引,可切片,可遍历的特点。

         3、一切字符串皆为对象 类

字符串中的方法:

         1、格式化分类方法

         2、判断方法

         3、查找,修改,计数,替换方法

         4、特殊方法

十三.例题

# 需求1:假设你有1万元本金,利息0.0325每年,求连本带息多少年后,能够翻倍

base_salary = 10000  # 本金
interest = 0.0325  # 利息
year = 0  # 年
# 因为不知道要循环多少年,所以使用while循环
while base_salary <= 20000:
    year += 1  # 年份加一年
    base_salary = base_salary + (base_salary * interest)  # 连本带息的总额
    print(f"今年是第{year}年,连本带息是{base_salary}元")

运行结果:

df8a215f94b242ffa5ee00b2b2248bf6.png

# 需求2:现在有一个弹簧球,从100米高空中坠落,每次坠落会反弹回一半的高度,问第10次反弹后,小球经过了多少米?

 

height = 100  # 高度
distance = 0  # 距离
count = 0  # 反弹的次数
while count < 10:
    distance += height  # 记录坠落时经过的高度
    height = height / 2  # 反弹回去的高度
    distance += height  # 距离加上反弹回去的高度
    count += 1  # 反弹的次数+1

print(f"小球经过10次反弹后,经过了{distance}米")

运行结果:

e1e5e1167d68448cb12f50c059b7bc81.png

 

# 需求3:现在有一堆桃子,猴子每天吃桃子总数的一半并且还多吃一个,吃了10天,到了第11天只剩1个桃子,问猴子在吃桃子之前总共有多少个桃子?

n = 1  # 第11天剩下1个桃子
day = 11  # 第11天
# 反向推
while day > 1:
    n = (n + 1) * 2  # 计算前一天的桃子个数
    day -= 1  # 天数倒退一天
print(f"第一天桃子的个数为{n}")  # 3070

运行结果:

 bf39a44f6aef43bea336f021d59908a0.png

 

# 需求4:求1-2+3-4+5-6+7-8....100的结果

count = 0                                   
for i in range(1,101):                      
    if i%2==0:                              
        count -= i                          
    else:                                   
        i % 2 == 1                          
        count += i                          
print(f"1-2+3-4+5-6+7-8....100的结果为:{count}")

运行结果:

f1ef14cef5c7483a8e5eaf8075444faf.png

 

# 需求5:随机输入一串字符串,判断其中数字字符的个数,字母字符的个数,特殊符号的字符个数,空格的个数。

str1 = input("请输入字符串:")    
digit = 0                  
alpha = 0                  
other = 0                  
space = 0                  
for i in str1:             
    if i.isdigit() : # 判断是否
        digit += 1         
    elif i.isalpha():  # 判断
        alpha += 1         
    elif i.isspace() : # 判断
        space += 1         
    else:                  
        other += 1         
print(f"数字个数为:{digit}")    
print(f"字母个数为:{alpha}")    
print(f"空格个数为:{space}")    
print(f"其他字符数为:{other}")   

运行结果:

01604d976fba451ba95e98d9ec4bf7df.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值