Python | 平均绩点

  • 字符串的概念和特点

字符串既可以使用单引号'',也可以使用双引号""来创建

可以使用+运算符来拼接字符串,并返回字符串拼接后的结果。

first_name = "Tom"
last_name = "Jerry"
full_name = first_name + " " + "and" + " " + last_name
# full_name 现在是 Tom and Jerry
  • 字符串的创建、索引、元素的访问以及遍历操作

索引、for循环遍历、切片获取子字符串(切片后会返回新字符串,需要一个变量来接受)

  • 字符串的常用方法

len()、split()

join(): 将列表中的字符串连接成一个新的字符串,你可以指定连接符号,比如下面的示例。

persons = ["tom", "jerry", "mike"]
text = " ".join(persons)
#将列表中的字符串以空格连接在一起,相当于split的反向操作。"tom jerry mike"

replace(): 用于替换字符串中的指定子字符串。

str1 = "Hello, world!"
str2 = str1.replace("World", "Python")
  • 格式化字符串

在Python中,整数相除会得到浮点数结果,即使结果是一个整数,也会以浮点数的形式表示。(如果用//呢?)

想要在Python中输出保留两位小数的数字,可以使用format()方法, format()方法通常用于字符串中的占位符替换,占位符通常用花括号 {} 表示。你可以将占位符插入到字符串中,然后使用 format() 方法来将实际值插入这些占位符。

number = 3.1415926
# {}是一个占位符,输出结果时会将format()参数里的内容替换在{}中,:.2f 表示保留两位小数
formatted_number = "{:.2f}".format(number)
print(formatted_number)

为什么要用双引号“{ }”呢?是因为变量类型是字符串?还是只有语法的要求?

  • flag编程思想

当循环遇到{A, B, C, D, F}以及空格之外的字符时,会输出"Unknown", 然后退出for循环的执行,但是仍然会执行循环之后的语句,即print语句,实际上,这行代码不应该被执行,应该怎样做才能避免这行代码的执行呢?

我们知道if(条件)可以控制语句的执行,当条件为真的时候,if结构体中的代码可以执行,条件为假的时候则不用执行,所以我们可以联想到下面的形式:

if condition:print("{:.2f}".format(sum_grade / count))

也就是说,我们可以采用这样一种思路,事先给每一行字符串一个“真的令牌”,字符串遍历处理过程中,如果有哪一行字符串中有{A, B, C, D, F}以及空格之外的字符,则把“真令牌”替换成“假令牌”,这样当走出循环之后再进行输出处理时,就会因为不认识这个“假令牌”而不进行输出。

字符串的格式化输出

  • 使用%操作符进行格式化
name = "张三"
age = 20formatted_string = "姓名:%s, 年龄:%d " % (name, age)
print(formatted_string)

使用%会将后面的变量name, age一一对应插入到对应的占位符上,其中%s表示字符串,%d表示整数, %f表示浮点数。

  • 字符串format()方法
name = "张三"
age = 20formatted_string = "姓名:{}, 年龄:{}".format(name, age)
print(formatted_string)

format()方法允许使用占位符{}来插入值,并使用format()方法的参数来提供要插入的值,和上面的操作符很类似。

  • f-字符串

f开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。

name = "张三"
age = 20formatted_string = f"姓名: {name},年龄:{age}"
print(formatted_string)

while True:try:s = input()score = 0count = 0# flag = 1for c in s:flag = 1# count += 1if c == "A":score += 4count += 1elif c == "B":score += 3count += 1elif c == "C":score += 2count += 1elif c == "D":score += 1count += 1elif c == "F":score += 0count += 1elif c == " ":continueelse:flag = 0print("Unknown")breakif flag:print("{:.2f}".format(score/count))except:break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCR图片转Excel表格:没结构化的弊端

随着OCR技术的不断发展,将表格图片转为excel已不再是难题,但是,目前市面上的程序还大多处于仅能将图片表格转为普通的excel格式阶段,而不能将其结构化,这样就会产生许多的弊端,具体弊端如下: &l…

数据容器的通用操作、字符串大小比较 总结完毕!

1.数据容器的通用操作 1)五类数据容器是否都支持while循环/for循环 五类数据容器都支持for循环遍历 列表、元组、字符串都支持while循环,集合、字典不支持(无法下标索引) 尽管遍历的形式不同,但都支持遍历操作 2&a…

办公软件 Office 安装教程(亲测有效)

Office 现已更名为 Microsoft 365。习惯还是称作 Office。 1、Office 套装下载 Windows 的样子 这里下载的是最新版本的 O365ProPlus 安装完成后,点击关闭(请先不要打开)。 Mac 的样子 这里下载的是Office for Mac 2019(更多版…

QNAP的jellyfin无法使用TMDB刮削的问题

解决方法很简单,修改QNAP的HOSTS文件 使用DNS Checker工具查询对应IP: image.tmdb.org api.themoviedb.org www.themoviedb.org 打开hosts文件,添加下列内容,wq保存 [~] # vi /etc/hosts 169.150.249.166 image.tmdb.org 103.2…

速递FineWeb:一个拥有无限潜力的15T Tokens的开源数据集

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…

【TB作品】MSP430F149单片机,6通道ADC,串口发送

功能 用6个引脚采集ADC,串口发送到电脑 部分程序 /** Otherwise, the compiler removes it* because it is not used for anything.*/ int kaiguanliang[4]; /* 四个开关量 */unsigned char adok_ifg 1; …

内核宕机自救

【问题】在测试内核级防篡改时,偶尔会遇到内核宕机的问题 【结论】进入紧急救援模式,将服务进程文件的start注释掉,即可 在Linux系统启动时,内核启动顺序选择界面,进入系统欢迎界面按上下左右键进入GRUB界面&#xff…

欧佩克+同意集体性减产延长,油价能否稳住?

KlipC报道:欧佩克组织同意将延长目前部分减产协议至2025年,以支撑油价。主要成员国把2023年11月宣布的日均220万桶的自愿减产措施延长至今年9月底,将在10月份根据市场情况开始缩减自愿减产规模。 高盛分析师表示,“我们认为这次欧…

python常见数据分析函数

apply DataFrame.apply(func, axis0, broadcastFalse, rawFalse, reduceNone, args(), **kwds) 第一个参数是函数 可以在Series或DataFrame上执行一个函数 支持对行、列或单个值进行处理 import numpy as np import pandas as pdf lambda x: x.max()-x.min()df pd.DataFrame(…

高端、大气、很牛B的免费wordpress模板主题

这是一款专为WordPress打造的极简主义风格主题,以白色和黑色为主色调,搭配红色点缀,营造出一种简洁、专业且具有视觉冲击力的效果。 该主题的设计理念是“简单即美”,旨在帮助用户快速搭建一个美观、易用的网站。它提供了丰富的自…

动态sql set标签 , trim标签

set标签 来看例子 set标案解决了逗号问题(当if条件不满足时,逗号无处安放的问题),我认为set标签可以识别这个问题,并自动忽略这个问题 <update id"update">update employee<set><if test"name!null">name#{name},</if><if te…

使用 Python 处理 Excel 表格数据的实用技巧

简介 在日常工作中&#xff0c;处理 Excel 表格数据是一项常见的任务。Python 提供了丰富的库和工具&#xff0c;能够帮助我们高效地处理 Excel 数据。本篇博客将介绍如何使用 openpyxl 库来读取 Excel 表格并进行数据处理&#xff0c;同时展示一个实际案例&#xff0c;说明如…

3079. 求出加密整数的和

给你一个整数数组 nums &#xff0c;数组中的元素都是 正 整数。定义一个加密函数 encrypt &#xff0c;encrypt(x) 将一个整数 x 中 每一个 数位都用 x 中的 最大 数位替换。比方说 encrypt(523) 555 且 encrypt(213) 333 。 请你返回数组中所有元素加密后的 和 。 示例 1&…

HTML基本元素包含HTML表单验证

可将以下代码复制另存为一个HTML文件浏览器打开自己去看看实际使用效果 <!DOCTYPE html> <html> <head> <meta charset"utf-8"><title>测试</title> </head> <body> <h1>很多事</h1> <h1><b&…

多项分布模拟及 Seaborn 可视化教程

多项分布 简介 多项分布是二项分布的推广&#xff0c;它描述了在 n 次独立试验中&#xff0c;k 种不同事件分别出现次数的离散概率分布。与二项分布只能有两种结果&#xff08;例如成功/失败&#xff09;不同&#xff0c;多项分布可以有 k 种&#xff08;k ≥ 2&#xff09;及…

Nginx的Location匹配与Rewrite重写

目录 一.Nginx中location与rewrite 1.Nginx中常用正则表达式 2.location与rewrite的联系和区别 二.location概述 1.分类 2.匹配规则 3.优先级 4.示例 三.rewrite概述 1.rewrite功能 2.rewrite执行顺序 3.跳转实现 4.语法格式 5.示例 5.1.基于域名的跳转 5.2.基…

四、利用启发式算法进行特定数据集的残差网络结构搜索【框架+源码】

背景&#xff1a;工作之后干的事情跟算法关联甚少&#xff0c;整理下读书期间的负责和参与的work&#xff0c;再熟悉学习下。 边熟悉边整理喽~ CV Tradictional workCV AI based work机械臂视觉抓取项目机器学习全流程 Pipeline训练平台OCR生产线喷码识别三维重建(SfM)ROS机器人…

C++的vector使用优化

我们在上一章说了如何使用这个vector动态数组&#xff0c;这章我们说说如何更好的使用它以及它是如何工作的。当你创建一个vector&#xff0c;然后使用push_back添加元素&#xff0c;当当前的vector的内存不够时&#xff0c;会从内存中的旧位置复制到内存中的新位置&#xff0c…

Spring 之 Lifecycle 及 SmartLifecycle

最近在看Eureka源码&#xff0c;本想快速解决这场没有硝烟的战役&#xff0c;不曾想阻塞性问题一个接一个。为正确理解这个框架&#xff0c;我不得不耐着性子&#xff0c;慢慢梳理这些让人困惑的点。譬如本章要梳理的Lifecycle和SmartLifecycle。它们均为接口&#xff0c;其中后…

mysql的锁(全局锁)

文章目录 mysql按照锁的粒度分类全局锁概念&#xff1a;全局锁使用场景&#xff1a;全局锁备份案例&#xff1a; mysql按照锁的粒度分类 全局锁 概念&#xff1a; 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法&#xff0c;命令是: Flush tables with…