Python day5:格式化输出/for循环的使用/列表,元组的使用/购物车例题

记录rk3588 在Linux 6.1内核版本声卡 bug。 rk3588 Audio bug 阅读详情

格式化输出

Name='Wang'
Age=21
Job='Meteorology student'
msg='''
-------Info or %s-------
Name=%s
Age=%d
Job=%s
-------end---------'''%(Name,Name,Age,Job)
print(msg)

这样一来输出的变量msg变得非常好看,非常实用的哦。

占位符的使用

格式化输出应注意占位符的使用,占位符

%s代表的相应变量应为字符串(string)

%d对应整数(digit)

%f对应浮点数(float)


布尔值(True, False)

真True

假False


字符串

字符串拼接

Name='Wang'
Job='Meteorology student'
print(Name+Job)


for循环

for i in range(3):
    print(i)

其中,range(3)=[0,1,2], 代表从[0,1,2]这一数组中按从左到右顺序提取出变量i并应用到循环内部的计算当中。

range()的用法

range(起始值,终止值,间隔)

其中range的右端是开区间,即range取不到终止值!并且range中所有值必须为整数型!

小例题1:应用 for循环输出100以内能被3整除的数

for i in range(0,101,1):
    if i%3==0:
        print(i)

或者,有一个投机取巧的方法

for i in range(0,101,3):
    print(i)

break在for循环的用法

和while语句一样,只要for循环没有被break打断,就会执行for循环之后的else语句,我们可以利用这一性质简化程序

!注意,即使是在最后一次循环的末尾使用break,也不要当作结果是完整的循环,因为这样子循环下面的else语句依旧不会执行。

小例题2:给定用户名:Wang,以及密码:duangduang,应用for循环判断输入的用户名和密码,并且在输入失败一定次数后后跳出一段话来骂输入的人(也可以用while循环试试)

方法1,利用布尔值

Yusername='Wang'
Ypassword='duangduang'
time=5
for i in range(time):
    username=input('input your username')
    password=input('input your password')
    if username==Yusername and password==Ypassword:
        print('welcome %s'%Yusername)
        IDjudge=False
        break
    else:
        print('wrong username or password, trying chance left: %d times'%(time-i-1))
        IDjudge=True
if IDjudge==True:
    print('臭不要脸')
    

方法2,利用else

Yusername='Wang'
Ypassword='duangduang'
time=5
for i in range(time):
    username=input('input your username')
    password=input('input your password')
    if username==Yusername and password==Ypassword:
        print('welcome %s'%Yusername)
        break
    else:
        print('wrong username or password, trying chance left: %d times'%(time-i))
else:
    print('臭不要脸')

continue在for循环中的用法

同while


列表,元组的使用

列表的表示

a=['alpha','beta','gamma','zelta']
a=list(('alpha','beta','gamma','zelta'))
a=list(['alpha','beta','gamma','zelta'])

后两个表示方法相当于调用了list这个族(class)的函数进行生成,我们接下来学的增删改查中加点(例如:a.append())的方法就是调用了list族中的函数对对象进行操作。(族这个概念之后会学到)

列表的增删改查

1.查/切片

a=['alpha','beta','gamma','zelta']
print(a)#显示列表内的所有内容
print(a[0])#显示列表的第一个值
print(a[-1])#显示列表最后一个值
print(a[0:2])#显示列表第一个到第二个的值(注意是取值范围最后是开区间)
print(a[0:])#显示列表第一个到最后一个值
print(a[0:-1])#显示列表第一个到倒数第二个值
print(a[0:-1:2])#从左到右两个两个取值
print(a[-1:0:-1]#从倒数第二个往左一个一个取值,注意,
#反方向输出时要保证print(a[右边界:左边界:负数]),这和从左到右是反着的

2.添加:append和insert

append:在列表的最后直接添加一个内容(例:a.append('sigma'))

insert: 把某个内容放到列表的某个位置(例:a.insert(列表位置,内容))

a=['alpha','beta','gamma','zelta']
print(a.append('sigma'))
print(a.insert(1,'sigma'))

3.修改

a=['alpha','beta','gamma','zelta']
print(a[1]='sigma')
print(a[1:3]=['a','b'])

4.删除

remove:a.remove(删除内容),注意,括号内不是删除内容的索引值‘index’,而是删除内容,且删除内容只能删一个

a=['alpha','beta','gamma','zelta']
a.remove('alpha')
print(a)
a.remove(a[0])
print(a)

pop:a.pop(索引值),并且能返回给你删掉的值,也只能删一个

a=['alpha','beta','gamma','zelta']
print(a.pop(0))
print(a)

del:del a[0],啥都能删

a=['alpha','beta','gamma','zelta']
del a[0]
print(a)
del a #整个变量都被删没了

clear: a.clear() ,清空列表内容变成空列表

5.1 count

a.count(元素内容)用来计算某个元素出现次数

a=['alpha','beta','gamma','zelta']
print(a.count('alpha'))

5.2 extend

a.extend(列表),给原来的列表里面添加另一个列表的元素

a=['alpha','beta','gamma','zelta']
b=['a','b','c','d']
print(a.extend(b))

5.3 index

a.index(元素内容),找到元素在列表的位置

a=['alpha','beta','gamma','zelta']
print(a.index('alpha'))

若元素中有多个相同,只找第一个元素 

5.4 reverse

a.reverse(),反转元素位置,没有返回值

a=['alpha','beta','gamma','zelta']
a.reverse()
print(a)

5.5 sort

a.sort(),给元素排序,对于数字是从小到大排序,对于字符按字母表排序

a=['alpha','beta','gamma','zelta']
a.sort()
print(a)

5.6 in

元素 in a,判断元素是否在特定列表中,输出值为布尔值

a=['alpha','beta','gamma','zelta']
print('alpha' in a)

5.7 身份判断

a=['alpha','beta','gamma','zelta']
print(type(a) is a list)

输出结果为布尔值

5.8 enumerate

enumerate(列表,起始值*),用于显示列表及其所对应的索引,其中起始值参数默认为0

a=['alpha','beta','gamma','zelta']
print(enumerate(a,1))

例题:购物车程序

salary=5000

1.iphone6 5800

2.mac book 9000

3.coffee 32

4.python book 80

5.bicycle 1500

输入商品对应index,计算价格,提示余额

如果没啥想买的,顾客按quit进行结账,并显示买了什么东西,余额,并欢迎下次光临

我的答案:

salary=5000
goods=['iphone6s','mac book','coffee','python book','bicycle']
goodsValue=[5800,9000,32,80,1500]
goodlistgood=[]
for i in range(len(goods)):
    goodlistgood.append(goods[i])
    goodlistgood.append(str(goodsValue[i]))
goodlistgood=tuple(goodlistgood)
goodslist='''
---------------Small Shop--------------
商品序号        商品名:价格       
1               %s:%s
2               %s:%s
3               %s:%s
4               %s:%s
5               %s:%s
'''%goodlistgood
return_to_buy=True
exit_GouWu=False
GouWuChe=[]
while True:
    GouWuChe.sort()
    print('你的余额:',salary,end='\n'*3)
    print('你的购物车:',GouWuChe)
    if exit_GouWu:
        break
    else:
        print(goodslist,end='\n'*3)
    if return_to_buy:
        while True:
            goodindex=int(input('选择一件你购买的商品序号:'))-1
            if goodindex in range(1,len(goods)+1):
                good=goods[goodindex]
                goodValue=goodsValue[goodindex]
                salaryleft=salary-goodValue
                break
            else:
                print('请输入商品序号')
        if salaryleft<0:
            choose=input('余额不足,重新选择(输入Y)或结束购买(输入N)')
            if choose=='Y':
                continue
            elif choose=='N':
                break
                exit_GouWu=True
            else:
                print('dada')

        else:
            salary=salaryleft
            GouWuChe.append(good)
            choose1=input('是否继续购买(Y/N)')
            if choose1=='N':
                exit_GouWu=True
            elif choose1=='Y':
                continue


    

改进

我们把商品和商品的价格是分开在两个列表中的,这样子比较傻,为什么不把对应的商品和价格放在一个列表里面并提出呢?

例如

goods=['iphone6s','mac book','coffee','python book','bicycle']
goodsValue=[5800,9000,32,80,1500]

变为

goods=[['iphone6s',5800],\
['mac book',9000],\
['coffee',32],\
['python book',80],\
['bicycle',1500]]

print('苹果6s',goods[0][0],'苹果6s的价格',goods[0][1])

UE5垃圾回收优化实战:定位GC卡顿与内存泄漏 垃圾回收(GC)是Unreal Engine 5中保障UObject内存安全的核心机制,其基于引用图的标记-清除原理决定了性能高度依赖引用结构合理性。当GC频繁触发或单次耗时突增,往往映射出蓝图强引用冗余、C++根对象管理失控或资源生命周期设计缺陷等底层问题。技术价值在于降低主线程阻塞、稳定60帧体验、抑制内存异常增长;典型应用场景包括关卡切换卡顿、UI打开后持续GC、打包后内存不释放等。本文聚焦UE5特有的Full GC模式、UObject生命周期约束及GC触发时机不可见性,提供从蓝图变量规范、TSoft 阅读详情

相关推荐

python元组 购物车讲解

tuple(元组) 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,列表的切片操作同样适用于元组。 元组写在小括号(())里,元素之间用逗号隔开。 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。 构造包含0个或1个元素的元组比较特殊,所以有一些额外的语法规则: 1 tup1 = () #空元祖 2 tup2 = (20,) #一个元素,需要在元素后添加逗...

weixin_45837954的博客 422

【AI智能体】Codex 高级进阶使用技巧项目实战操作详解

Codex 高级进阶使用技巧项目实战操作详解

congge 1万+

sys模块的问题,深浅COPY的应用场景,元祖与购物车程序练习-打印彩色\033[31;1m--------\033[0m...

打印彩色:%s为变量,格式化 print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary) )想要红色用[31,绿色用[32,背景是红色是[41,背景的绿色是[42   sys模块是C语言写的,所以在模块目录里是找不到sys.py这种模块的。 浅COPY的意思,就是第...

weixin_34279061的博客 435

uniapp [全端兼容] - 实现接入集成高德地图搜索地址及选择位置功能,搜索框检索选择地点并返回经纬度及详细省市区县街道地址,用户搜索历史及清空历史记录,选择地址自动获取周边位置列表/地图移动选点

uni-app,高德地图,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,Uniapp高德地图,在地图上选择或搜索指定地点,打开地图选择位置,关联地址搜索,输入地址返回附近地址列表,uniApp高德地图地址搜索,搜索框历史记录,关键字搜索,周边查询,搜索位置,uniapp对接高德实现搜索出现地址以及保存搜索记录,集成高德地图,实现精准位置选点功能,获取当前定位城市,如何实现搜索功能,获取省份城市区街道详细地址经纬度,移动选点标记位置,在地图上进行选择位置选点、搜索

🏆 前端领域优质创作者 1万+

大模型选型实战:为OpenClaw匹配最优“大脑”的全维度考量

大模型不是越贵越好,也不是参数越高越好,适合自己的使用场景才是最好的。按照我的方法,先明确自己的需求,再选对应的模型,配置多模型自动路由,既能保证体验,又能最大限度降低成本。我自己用这套配置用了半年多,不管是写文章、写代码还是处理复杂问题,都完全够用,成本也很低,大家可以参考一下。如果不知道选什么模型,可以在评论区说一下你的使用场景。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 343

元组方法写购物车

# Author:xwl# _*_coding:utf-8_*_# 只读函数--元组# 请闭眼写出以下程序。## 程序:购物车程序## 需求:## 启动程序后,让用户输入工资,然后打印商品列表# 允许用户根据商品编号购买商品# 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒# 可随时退出,退出时,打印已购买商品和余额product_list = [ ('iphon',58...

anpu4068的博客 429

从零开始学习PX4源码9(部署px4源码到gitee)

由于PX4-Autopilot托管在github,在没有翻墙的情况下,下载固件无法下载。为了提高下载速度,这里将PX4在github上的仓库以及其子仓库(依赖仓库)都搬移到gitee上了。本教程讲解如何快速部署px4固件到gitee上,实现不需要翻墙快速本地就可以下载PX4固件。暂时没有找到如何批量直接通过修改.gitmodules后,使用什么命令可以直接把所有的一级二级子模块的指向直接正常映射。!!

陌城烟雨 810

python 列表 循环 实现简易的电子商城

电子商城功能 用户登录注册 页面之间的跳转 用户购买商品的输入判断 数据的修改已更新 休闲小游戏的整合 用户登录注册 列表的初始化与赋值 users=[['admin','admin'],['tom','123456']] g1=[1000,'可口可乐(罐装)',2.5,100] g2=[1001,'可口可乐(瓶装)',3.0,100] g3=[1002,'可口可乐(小瓶装)',2...

可帅的leeking的博客 676

搭建AutoSAR开发环境

任何开发都需要一套开发环境,包括软硬件环境,笔者后续将介绍的是 NXP 的 S32K144 配套的开发板。接下来详细介绍怎么获取这些软硬件工具。仅供个人学习使用!

cfl927096306的博客 6111

多准则决策方法体系(AHP、熵权法、随机森林、加权线性法、TOPSIS、模糊综合评价)

多准则决策方法体系的基础,是由三大赋权方法和三大评价框架构成的 “3+3” 核心模块。赋权方法聚焦于准则重要性的量化,评价框架则专注于多准则信息的综合集成,二者共同覆盖了从 “确定权重” 到 “输出结果” 的全流程决策需求。

```On Earth, Be Water, By Coding``` 522

python编程超市购物系统_通过python实现超市购物系统(通过列表简单实现版)

通过导入外部文件来导入数据:shop.txtcar 200000iphone 4999bicycle 500cafe 35##########################################################python源代码:#!/usr/bin/env python# encoding=utf-8# author:sihaogongyuan...

weixin_39535349的博客 622

第20期-英伟达笔试题型解析

英伟达作为AI领域的缔造者及硬件基石,是这几年最为炙手可热的公司。英伟达以其高性能GPU设计闻名,硬件工程师岗位的招聘通常包括笔试和技术面试,考察领域涵盖数字电路设计、处理器架构、嵌入式系统和信号处理等。通过搜索公开平台,收集了候选人的面试经历和相关技术问题,,通过分析公开平台收集的笔试面试经验,结合英伟达的GPU架构特点,整理出可能涉及的典型题目,并提供详细解析。 以下是基于英伟达(Nvidia)硬件工程师笔试题型的解析与总结,涵盖核心知识点、解题思路及案例分析。

启芯硬件的博客 746

python day2

Today is the second day of leaning Python. 1.For Loop for i in range():  print() 2.break and continue break : To jump out of this loop continue : To jump out of the current loop 3....

dizhongtiao4041的博客 108

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python day 09 作业

目录 # 1、有列表['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量''' # 2、用列表的insert与pop方法模拟队列 # 3. 用列表的insert与pop方法模拟堆栈 # 4、简单购物车,要求如下: # 5、有如下值集合 [11,22,33,44,55,66,77,88,99,90...], # 6、统计s='hello alex alex say hello sb sb'中每个单词的个数''' # 1、有列表[..

m0_59882269的博客 1309

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python基础day05

上节内容变量if else注释 # ''' msg ''' 3个引号 打印多行 ', "" 双单引号的意义是一样的 缩进 本节内容pycharm使用 集成开发环境(IDE,Integrated Development Environment ) VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 ...

weixin_30617797的博客 75

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python从入门到放弃-day05-格式化输出购物车

# 作者 : liuxing # 日期 : 2017-12-25 # 购物作业 my_money=10000 my_commodity=[] commoditys=[("iphone",4500),("macbook",8000),("book",90),("bicyle",1200),("pc",3000),("coffee",20)] while True: ...

weixin_30836759的博客 88

Python菜鸟起飞day2--数据类型(元组,字典,字符串)

目录 1 数据类型:元组 2 练习:购物车(enumerate()函数) 3 数据类型:字典 3.1 字典 3.2 创建字典的两种方式 3.3 常用操作 4 数据类型:字符串 4.1 创建字符串 4.2 字符串拼接 4.3 字符串内置方法 拓展 1.maketrans()方法 ...

ihan.的博客 328

day5笔记

本节内容pycharm使用 集成开发环境(IDE,Integrated Development Environment ) VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,c++ Visual Studio # 微软开发的 IDE, python,c+...

weixin_30663471的博客 78

day5 笔记

笔记 字符格式化输出:占位符%s s=string 字符型%d d=dight 整数型%f f=float 浮点数 约等于小数通过格式:%(str1,str2,str3)一一对应数据运算 数据类型的初识 数字 整数 int (integer) 整型 范围更小 长整型 范围更大 ...

weixin_34244102的博客 99

python全栈开发day05

上节内容变量if else注释 # ''' msg ''' 3个引号 打印多行 ', "" 双单引号的意义是一样的 缩进 本节内容pycharm使用 集成开发环境(IDE,Integrated Development Environment ) VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 ...

weixin_30678821的博客 85

python-day02 基本数据类型

基本数据类型 数字 字符串 列表元组字典格式化输出 a.数字 数字主要是用于计算用的,使用方法并不是很多 a = 1 b = 2 print(a+b) >>>3 b.字符串 msg = ''' 床前明月光 ''' print(msg) >>>输出 床前明月光 b1.字符串相加 s1 = 'hell...

weixin_30315905的博客 96

python零基础入门教学

本文系统介绍了Python基础语法,涵盖以下核心内容:1. 基本元素:字面量、变量(动态类型)、标识符规则及数据类型检测(type()函数);2. 字符串处理:三种定义方式(单/双/三引号)、转义字符、拼接与格式化方法(%和f-string);3. 输入输出:input()函数使用及类型转换注意事项;4. 运算符体系:算术、赋值(含复合赋值)、比较、逻辑运算符;5. 流程控制:if条件分支、match-case模式匹配、while-else和for循环(含嵌套案例及range应用);6. 容器类型:列表的增

qq_66669252的博客 96

python字符串去重保持原顺序_python 对列表去重,并保持列表原来顺序

python 使用set对列表去重,并保持列表原来顺序# python 使用set对列表去重,并保持列表原来顺序 list1 = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] for item i ...Python列表去重的三种方法1. 列表去重 li = [] for item in my_list: if item not in li...

weixin_42492211的博客 1416

Python+AI入门——学习笔记

Python学习笔记,案例练习等(努力学习中.....) 本人学习的课程--->《Python+AI零基础入门到大神全套视频课程》B占---黑马C序Y

m0_53112848的博客 266

Day3

一、Number 1.数学功能 a.直接使用 ​ abs():绝对值 ​ max():最大值 ​ min():最小值 ​ pow(m,n):求m的n次方 ​ round(x[,n]):返回x的四舍五入的值,n表示小数点后需要保留的位数 b.导入math模块 ​ import math ​ from math import * ​ ceil(x):向上取整 ​ floor(x):向下取整 ​ sq...

qq_41470296的博客 173
上一篇: Python day04:运算符以及while循环,print中end用法
下一篇: Python day6:元组/字典/字符串操作以及三级菜单制作
Dovah1n
博客等级 码龄6年 404粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值