本节介绍 python 和 golang 中的 条件语句。
这里我们编写一个实例程序,需求如下:
用户录入考生成绩,程序首先判断录入情况是否正常,如果录入正常,则根据成绩的分布情况,输出成绩的等级 "优秀" ”良好“ ”中等“ ”较差“ ,并打印成绩的实际值。
- python
import sys
msg = input("请输入得分:") # 打印提示信息、拿到录入数据
msg = msg.strip() # 去除换行符、制表符、空格
if not msg.isdecimal(): # 输入的是非数字量,则退出程序
print("输入错误!程序结束!")
sys.exit(1) # sys.exit(1) 表示程序因为异常原因退出
marks = int(msg) # str 转 int
if marks >= 90:
print("成绩优秀")
elif marks >= 80:
print("成绩良好")
elif marks >= 70:
print("成绩中等")
elif marks >= 60:
print("成绩较差")
else:
print("不及格")
print("成绩为:", marks)
正确执行:
异常执行:
- golang
package main
import (
"bufio"
"fmt"
"log"
"os"
"strconv"
"strings"
)
func main() {
fmt.Print("请输入得分:")
reader := bufio.NewReader(os.Stdin)
msg, err1 := reader.ReadString('\n')
if err1 != nil {
log.Fatal(err1)
}
msgInt := strings.TrimSpace(msg) // 去除换行符、制表符、空格
marks, err2 := strconv.Atoi(msgInt) // string 转 int
if err2 != nil {
log.Fatal(err2)
}
if marks >= 90 {
fmt.Println("成绩优秀")
} else if marks >= 80 {
fmt.Println("成绩良好")
} else if marks >= 70 {
fmt.Println("成绩中等")
} else if marks >= 60 {
fmt.Println("成绩较差")
} else {
fmt.Println("不及格")
}
fmt.Println("成绩为:", marks)
}
正确执行:
异常执行:
--- to be continue ---