Python全栈 Web(JavaScript 运算符、流程控制)

简介: 运算符: 赋值运算符:= 算术运算符:+ - * / %  自增自减:++ -- 自增自减在单独使用时放前放后没区别 如果参与其他运算时分前缀和后缀 ++ 在后 先使用后自增 ++ 在前 先自增后使用 关系运算符 .
运算符:
赋值运算符:=
算术运算符:+ - * / % 
自增自减:++ --
自增自减在单独使用时放前放后没区别
如果参与其他运算时分前缀和后缀
++ 在后 先使用后自增
++ 在前 先自增后使用
关系运算符
>、 >=、 <、 <=、 ==、 !=
=== 全等/恒等
!== 不全等/不恒等
关系运算符的结果都为boolean类型

数字与字符串进行比较:
实现自动转换数据类型在比较 如果转换成功 按照数字比较
失败会变成NaN与数字比较  永远都是false
字符串之间的比较:
每个字符分别按照Unicode编码比较大小
如果当前字符相同进行后移 不相同直接出结果
== !=
先进行数据转换后进行比较  只进行值得比较
=== !==
直接进行数据比较  进行数据转换  同时判断数据类型和值是否完全相等
逻辑运算符:
非  对现有条件进行取反 非真即假  非假即真
&& 等同于Python的and 判断两个结果都正才为真 见False的False
|| 关联的两个条件有一个为真就为真  见True的True
位运算:
&       按位与
| 按位或
^ 按位异或

数据交换
var a = 3;
var b = 5;
1.
var c = a;
a = b;
b = c;
2.
a = a + b; a += b;
b = a - b; b = a -b;
a = a - b; a -= b;
3.
a = a ^ b; a ^= b;
b = b ^ a; b ^= a;
a = a ^ b; a ^= b;
4.Python特有
a, b = b, a
条件运算符:
单目运算符/一元运算符:只有一个操作数的运算符
++、 --、 !、 typeof、 -
双目运算符/二元运算符:有两个操作数的运算符
+、-、*、%、/、&&、||、&、|、......
三目运算发/三元运算符:有三个操作数 的运算符
? :
语法:
条件表达式 ? 表达式1 : 表达式2
等同于简单版的 if else 

运算符的优先级



流程控制:
流程结构:
1.顺序结构:
按照代码书写顺序依次执行
2.分支结构/选着结构:
if 语句:
if (条件) {
语句块;
}else if (条件){
语句块;
}else{
语句块
}
条件尽量是布尔类型
任何零或空值都为False
0.0、0、""、undefined、null
if后的{}可以省略 生路后只会控制if后的第一条语句 其他不管
switch语句:
switch(变量){
case 值1:
语句块1;
break;  //可选  跳出switch
case 值2;
语句块2;
...

default: //可选  相当于else 所有case都没走才会走
语句块n;
}

switch只能用于等值判断的场合  case以 === 的方式判断是否相等

3.循环结构:
重复执行相同或相似的代码
循环三要素:
循环变量
循环条件
循环操作

while循环:
while (条件) {
循环操作;
}
先判断条件 再决定是否进行循环操作

do ... while循环:
do{
循环操作;
}while (条件);
先执行一次循环操作 在判断条件决定是否继续循环

while循环:












1.创建一个网页
2.从弹框中录入一个数字,表示年份
3.判断该年份是否为闰年并输出结果(true 或 false)
闰年:能被4整除但不能被100整除或能被400整除的年份都是闰年

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		/*
		var yoer = prompt("请输入年份");
		year = yoer % 4 == 0 && yoer % 100 != 0 || yoer % 400 ==0;
		if (year) {
			console.log("是闰年");
		}else{
			console.log("不是润年");
		}
		*/

		///*
		var input = prompt("请输入年份");
		var res = input % 4 == 0 && input % 100 != 0 || input % 400 == 0;
		//console.log(input + "是闰年吗?" + res);
		res ? console.log(input, "是闰年") : console.log(input, "不是润年");
		var days = res ? 366 : 365;
		console.log(days, "天")
		//*/
	</script>
</head>
<body>

</body>
</html>




从弹框中录入1个字符,判断该字符是英文?中文?数字?

从弹框中录入:5
是数字吗?false
是英文吗?true
是中文吗?false

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		
		var k = prompt("");
		var number = k >= 0 && k <= 9;
		var str = (k >= 'a' && k <= 'z') || (k >= 'A' && k <= 'Z');
		var chr = k >= '\u4e00' && k <= '\u9fa5';
		if (number) {
			console.log("是数字\n不是英文\n不是中文");
		}else if(str){
			console.log("是英文\n不是数字\n不是中文");
		}else if(chr){
			console.log("是中文\n不是英文\n不是数字");
		}else{
			console.log("非法字符 10秒后电脑将爆炸!")
		}
		
		/*
		var input = prompt("请输入一个字符");
		var isNum = input >= 0 && input <= 9;
		console.log("是数字吗?  " + isNum);
		var isStr = input >= "\u4e00" && input <= "\u9fa5";
		console.log("是中文吗?  " + isStr);
		var isCode = input >= "a" && input <= "z" || input >= "A" && input <= "Z";
		console.log("是英文吗?  " + isCode)
		*/
	</script>
</head>
<body>

</body>
</html>



             BMI指数计算
要求从弹框中录入身高(m)
要求从弹框中录入体重(kg)
BMI = 体重 / (身高 * 身高);

如果 BMI 小于 18.5 属于 偏瘦
如果 BMI 大于 23.9 属于 偏胖
否则 : 正常


<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		/*
		var m = prompt("请输入身高:");
		var kg = prompt("请输入体重KG:");
		var BMI = kg / (m * m);
		if (BMI < 18.5) {
			console.log("偏瘦");
		}else if (BMI > 23.9) {
			console.log("偏胖");
		}else{
			console.log("正常");
		}
		*/

		var height = prompt("请输入身高M:");
		var weight = prompt("请输入体重KG:");
		var BMI = weight / (height * height);
		console.log("您的BMI指数为" + BMI);
		BMI < 18.5 ? console.log("偏瘦"):
			BMI > 23.9 ? console.log("偏胖"):
				console.log("正常")
	</script>
</head>
<body>

</body>
</html>




              输入学生成绩判断成绩情况
                         大于90分为优秀  大于80分为良好 大于60分为及格

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var score = prompt();	
		var res = score >= 90 ? "优秀" :
					score >= 80 ? "良好":
						score >= 60 ? "及格" : "不及格";
		console.log("成绩", score, res);
	</script>
</head>
<body>

</body>
</html>



分三次从弹框中录入年,月,日
计算该日是该年的第?天

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var year = Number(prompt("请输入年"));
		var mocth = Number(prompt("请输入月"));
		var day = Number(prompt("请输入天"));
		var days = 0;
		var i = 1;
		while (i < mocth){
			switch (i){
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
					days += 31;
					break;
				case 4:
				case 6:
				case 9:
				case 11:
					days += 30;
					break;
				case 2:
					days += 28;
					days += year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
					break;
			}
			i++;
		}
		days += day;
		console.log(year,"年的第",days,"天");

	</script>
</head>
<body>

</body>
</html>



                                   打印 九九乘法表中的某一行
从弹框中录入一个数字,录入的是几,就打印第几行

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var i = 0;
		while (i < 100){
			if (i % 2 == 1) {
				console.log(i);
			}
			i++;
		}

		var i = 0;
		var line = Number(prompt("请输入行数"));
		var sum = " "
		while (i < line){
			i++;
			//console.log(i + "*" + line + "=" + i * line);
			sum += i + "*" + line + "=" + i * line + "\t";
		}
		console.log(sum)
	</script>
</head>
<body>

</body>
</html>


                             分三次输入年,月,日
                     判断该日是星期?
                                             1990年的1月1日是星期一


<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">

		var year = prompt("请输入年");
		var month =	Number(prompt("请输入月"));
		var day = Number(prompt("请输入天"));
		var days = 0;

		var i = 1900;
		while (i < year) {
			days += 365;
			days += i % 4 == 0 && i % 100 !=0 || i % 400 == 0;
			i++;
		}
		var calendar = 0;
		var i = 1;
		while (i < month){
			switch (i){
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
					days += 31;
					break;
				case 4:
				case 6:
				case 9:
				case 11:
					days += 30;
					break;
				case 2:
					days += 28;
					days += year % 4 == 0 && year % 100 !=0 || year % 400 == 0;
					break;
			}
			i++;
		}
		days += day
		switch ( days % 7) {
			case 1:
				console.log(year + "年" + month + "月" + day + "日", "是星期一");
				break;
			case 2:
				console.log(year + "年" + month + "月" + day + "日", "是星期二");
				break;
			case 3:
				console.log(year + "年" + month + "月" + day + "日", "是星期一");
				break;
			case 4:
				console.log(year + "年" + month + "月" + day + "日", "是星期四");
				break;
			case 5:
				console.log(year + "年" + month + "月" + day + "日", "是星期五");
				break;
			case 6:
				console.log(year + "年" + month + "月" + day + "日", "是星期六");
				break;
			case 0:
				console.log(year + "年" + month + "月" + day + "日", "是星期日");
				break;
		}
		
	</script>
</head>
<body>

</body>
</html>





相关文章
|
28天前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
28天前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
33 4
|
28天前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
24天前
|
前端开发 JavaScript 关系型数据库
基于 Vue2.0 + Nest.js 全栈开发的后台应用
Vue2 Admin 是一个基于 Vue2 和 Ant Design Pro 开发的前端项目,配合 Nest.js 构建的后端,提供了一个完整的全栈后台应用解决方案。该项目支持动态国际化、用户权限管理、操作日志记录等功能,适合全栈开发者学习参考。线上预览地址:https://vue2.baiwumm.com/,用户名:Admin,密码:abc123456。
|
26天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
34 1
|
27天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
28天前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
28 4
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
158 3
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
171 45
|
15天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
下一篇
DataWorks