python爬虫学习第二课-流程控制

1. 输入-input()

input()函数用于接收用户输入,返回一个字符串

一定要等用户输入并按下回车,才能继续执行程序

python 复制代码
money = input("请输入车费:")
print(money) # 输出:请输入车费: ----输入并按下回车后打印输入的值
print(type(money))#<class 'str'>

2.类型转换

  • int() 转成整型
    • 浮点型转整型会舍掉小数点后内容
  • float() 转成浮点型
  • str() 转成字符串
  • bool() 转成布尔类型
    • 0,0.0,None,False,空字符串,空列表,空元组,空字典,空集合 转布尔类型 会转为 False
    • 1,1.0,True,非空字符串,非空列表,非空元组,非空字典,非空集合 转布尔类型 会转为 True

float()和int() 只能转换数字,不能转换字母

浮点型和整型可以互相转换

字符串型小数( 如:100.0')无法使用int() 只能使用float()

python 复制代码
money = input("请输入车费:")  # 输入20
# input接收的是字符串,进行运算时需要类型转换
money *= 2
print(money) # 报错

money2 = int(money) + 2  
print(money2) # 22 

money3 = float(money) +2 #22.0

# 车费打八折
print(float(money) * 0.8) #16.0

# 字符串型小数无法使用int() 只能使用float()
money4 = '100.0'
# print(int(money4)) # 报错
print(int(float(money4))) # 可以先转为浮点型再转成整型

3.流程控制

  • 顺序结构:按照顺序执行
  • 分支结构:根据条件选择执行
    • if -else-elif 条件判断
  • 循环结构:重复执行某段代码 - 循环一定要明确循环次数
    • for 循环
      • range() 函数生成一个整数序列-取头不取尾
        • range(5) 0,1,2,3,4从0开始取值 ,取到参数前一位
        • range(1,5) 1,2,3,4 从1开始取值,取到参数前一位
        • range(1,10,2) 1,3,5,7,9 从1开始取值,取到参数前一位,步长为2
      • continue 跳过本次循环,继续下一次循环
      • break 结束循环

python的语法结构是通过缩进来确定语句的开始和结束(一个tab为一个缩进)

python 复制代码
# 顺序结构:按照顺序执行
print('1')
print('2')
print('3')

# 分支结构:根据条件选择执行
'''
    if 条件:
        条件成立时执行的代码
    elif 条件:
        条件成立时执行的代码
    else:
        条件不成立时执行的代码
'''
if 8>3: #条件为真的时候执行的语句
    print('8大于3')
else :  #条件都不满足执行的语句
    print('8小于3')

s = input('外面是否下雨了:')
if s == '是':
    print('带伞')
elif s == '否':
    print('不带伞')
else:
    print('输入有误')

score = input("请输入成绩:")
if int(score) >= 90:
    print("优秀")
elif int(score) >= 80:
    print("良好")
elif int(score) >= 70:
    print("中等")
elif int(score) >= 60:
    print("及格")
else:
    print("不及格")

#循环结构:重复执行某段代码
for i in 'hello':
    print(i)  # 字符串会依次从字符串中取出一个字符并赋值给i,然后继续执行循环
    print(i,end=' ') # h e l l o  end 指定打印结尾链接方式 默认为换行符\n

for i in range(1,10): #range(开始-包含该值,可选默认为0,结束-不包含该值) 函数生成一个整数序列
    print(i,end='') #123456789

for i in range(1,10):
   
    if i == 5:
        print(f'打印是{i}')
        continue
        print('不输出') 
    elif i == 6:
        print(f'打印是{i}')
        break
        print('不输出') 
    else:
        print(i)
相关推荐
你好潘先生7 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师7 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码7 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf8 小时前
FastAPI 如何连接 MySQL
后端·python
apocelipes21 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780511 天前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent1 天前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m6251 天前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
SelectDB2 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码2 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python