卡码网语言基础课|平均绩点

目录

题目描述

Python

Key Points

1.字符串的使用

2.格式化小数

3.字符串格式化输出

JAVA

Key Points

1.字符串的使用

2.扩展:Switch-Case


题目描述

  • 每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。
  • 每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。
  • 每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。

Python

Key Points
1.字符串的使用
  • 字符串既可以使用单引号'',也可以使用双引号""来创建。
  • 使用+运算符来拼接字符串,并返回字符串拼接后的结果。
first_name = "Tom"
last_name = "Jerry"
full_name = first_name + " " + "and" + " " + last_name
# full_name 现在是 Tom and Jerry
  • 通过索引访问(字符串的索引也是从0开始),并且都能进行遍历和切片操作。
str1 = "Hello"

# 使用正数索引访问字符串中的字符
first_char = str1[0]  # 获取第一个字符 "H
last_char = str1[-1] 	# 获取最后一个字符 'o'
  • 字符串遍历也是使用for循环
str1 = "Hello"
# 使用 for 循环遍历字符串中的字符
for char in str1:
      print(char, end = " ")
# 输出结果:H e l l o
  • 字符串的操作方法
  • len():获取字符串的长度。
  • my_string = "Hello,World!"
    length = len(my_string)  # 返回 12
  • split():将字符串分割成子字符串并返回一个列表,默认情况下,使用空格作为分隔符。
txt = "welcome to the jungle"

x = txt.split() #返回['welcome', 'to', 'the', 'jungle']
  • join(): 将列表中的字符串连接成一个新的字符串,你可以指定连接符号,比如下面的示例。
persons = ["tom", "jerry", "mike"]
text = " ".join(persons)
# 将列表中的字符串以空格连接在一起,相当于split的反向操作,"tom jerry mike"
  • replace(): 用于替换字符串中的指定子字符串。
str1 = "Hello, World!"
str2 = str1.replace("World", "Python")  # 替换 "World" 为 "Python"
2.格式化小数
number = 3.1415926
# {}是一个占位符,输出结果时会将format()参数里的内容替换在{}中,:.2f 表示保留两位小数
formatted_number = "{:.2f}".format(number)
print(formatted_number)
3.字符串格式化输出
  • 使用%操作符进行格式化
name = "张三"
age = 20

formatted_string = "姓名:%s, 年龄:%d " % (name, age)
print(formatted_string)

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

  • 字符串format()方法
name = "张三"
age = 20

formatted_string = "姓名:{}, 年龄:{}".format(name, age)
print(formatted_string)

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

  • f-字符串
name = "张三"
age = 20

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

JAVA

Key Points
1.字符串的使用
  • 声明和初始化

在 Java 中,你可以使用双引号直接创建字符串字面值( 字符串文字)来初始化字符串变量。

String name = "Hello, Java";

还可以使用new的方式来创建一个字符串对象。

String message = new String("Hello");
  • 字符串操作

Java 支持使用 + 运算符来连接字符串,返回字符串连接之后的结果

string s1 = "hello";
string s2 = "world";
string s3 = s1 + " " + s2; // 对字符串进行连接,拼接之后的字符串是"hello world", 中间加了空格
  • 字符串长度

使用 length() 方法来获取字符串的长度

int len = s1.length(); // 字符串的长度即字符串中字符的个数,"hello"的长度为5
  • 字符串比较

使用 equals() 方法来比较两个字符串的内容是否相等

String myStr1 = "Hello";
String myStr2 = "Hello";
String myStr3 = "Another String";
System.out.println(myStr1.equals(myStr2)); // Returns true because they are equal
System.out.println(myStr1.equals(myStr3)); // false
  • 字符串索引

字符串中的字符可以通过索引访问,索引从 0 开始。

char c1 = s1.charAt(0);
  • 字符串切割和拆分:

可以使用 split() 方法将一个字符串根据指定的分隔符拆分成字符串数组。

String[] parts = s3.split(" ") // 会将字符串根据空格拆分为多个部分
  • 字符串格式化:

Java 提供了多种方式来格式化字符串,例如,使用 String.format() 方法或 printf() 方法。

String myStr = "Hello %s! One kilobyte is %,d bytes.";
String result = String.format(myStr, "World", 1024);
// Hello World! One kilobyte is 1,024 bytes.

 此外,你还可以使用format()方法,它和printf()方法是等价的,都只需要一个格式化字符串,后面跟着参数,其中每个参数都对应一个格式说明符。

System.out.printf(format, args);

其中format是一个字符串,用于指定输出的格式,args是一个参数列表,包含了要插入到格式字符串中的值。常见的格式符号有%d(用于输出整数)%f(用于输出浮点数),%s(用于输出字符串)%n(用于输出换行符)

比如想要输出一个整数,format部分要使用%dargs就是插入到格式符号部分的数值。

int num = 42;
System.out.printf("%d", num);

想要在Java中输出保留两位小数的数字,可以使用%.2f 这种格式

double number = 3.14159265359;
// 使用printf进行格式化输出,只保留两位小数
printf("%.2f\n", number);
  • 字符串查找和替换:

可以使用 indexOf() 方法来查找字符串中某个子串的位置,还可以使用 replace() 方法来替换字符串中的部分内容。

String myStr = "Hello planet earth, you are a great planet.";
System.out.println(myStr.indexOf("planet"));
// 6
String myStr = "Hello";
System.out.println(myStr.replace('l', 'p'));
// Heppo
2.扩展:Switch-Case

其实除了if-else之外,还有一种语句可以根据表达式的值执行不同的代码块。switch 语句将表达式的值与一系列可能的值进行比较,并根据匹配的情况执行相应的代码块,它的基本结构如下:

switch (expression) {
    case value1:
        // 与 value1 匹配时执行的代码
        break;
    case value2:
        // 与 value2 匹配时执行的代码
        break;
    // 可以有多个 case 分支
    default:
        // 如果没有匹配的 case 分支,执行 default 分支
}

switch-case是将switch里面的表达式与case一一作比对,如果符合时,则执行对应的代码,break 语句用于终止 switch 语句的执行。如果没有 break,程序将会继续执行后续的 case 分支,直到遇到 break 或结束 。而default 用于处理没有匹配的情况,如果没有匹配的 case 分支,将执行 default 分支,相当于if-else语句中的else

case 中不能使用变量,而不是一个确定的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值