golang 20-嵌套分支

该博客通过两个案例介绍了如何使用Go语言实现嵌套分支结构。第一个案例涉及百米赛跑的资格判断,根据输入的成绩和性别决定是否进入决赛。第二个案例为出票系统,根据淡旺季和年龄计算票价,涉及成人、儿童和老人的不同定价策略。博客强调了嵌套分支的合理控制和代码可读性的重要性。
摘要由CSDN通过智能技术生成
package main

import "fmt"

func main()  {
	/*
	嵌套分支语法:
	if 条件表达式{
		if 条件表方式{
		}else{}
	}

	嵌套分支不宜过多 尽量控制在三层内 提高代码可读性

	案例:参加百米运动会,如果用时 8 秒以内进入决赛,否则提示淘汰。
	并且根据性别提示进入男子组或女子组。【可以让学员先练习下】, 输入成绩和性别。
	 */
	var(
		a float32
		na string
	)
	fmt.Println("请输入比赛成绩:")
	fmt.Scanln(&a)
	if a <= 8 {
		fmt.Println("请输入性别:")
		fmt.Scanln(&na)
		if na == "男" {
			fmt.Println("进入男子组")
		}else{
			fmt.Println("进入女子组")
		}

	}else{
		fmt.Println("out!!!")
	}

/*
	案例
	出票系统:根据淡旺季的月份和年龄,打印票价 [考虑学生先做]
	4_10 旺季:
	成人(18-60):60
	儿童(<18):半价
	老人(>60):1/3
	淡季:
	成人:40
	其他:20
 */
	var(
		month byte //月份
		age byte //年龄
		met float64 = 60.0
	)
	fmt.Println("请输入月份")
	fmt.Scanln(&month)
	fmt.Println("请输入年龄")
	fmt.Scanln(&age)
	if month >= 4 && month <= 10 { //限制在4-10月旺季
		if age > 18 {
			fmt.Printf("现在是 %v 月,年龄是 %v 价格是 %v",month,age,met)
		}else if age < 18 {
			fmt.Printf("现在是 %v 月,年龄是 %v 价格是 %v",month,age,met/2)
		} else if age <= 60 {
			fmt.Printf("现在是 %v 月,年龄是 %v 价格是 %v",month,age,met/3)
		}

	}else if age >18 && age <= 60 {
		fmt.Println("成人票40")
	}else {
		fmt.Println("儿童票20")
	}
}


运行结果:


请输入比赛成绩:
7
请输入性别:
男
进入男子组
请输入月份
8
请输入年龄
22
现在是 8 月,年龄是 22 价格是 60
进程 已完成,退出代码为 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值