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>





相关文章
|
2月前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
97 1
用python执行js代码:PyExecJS库
|
5天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
75 44
|
6天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
22 2
|
28天前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
57 6
|
29天前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
|
29天前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript
|
29天前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
|
2月前
|
JavaScript 前端开发 Python
python执行js代码
本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。
30 3
|
3月前
|
开发者 Java Spring
JSF 牵手社交登录,如魔法风暴席卷 Web 世界,开启震撼便捷登录之旅!
【8月更文挑战第31天】在互联网时代,便捷登录成为用户的核心需求。社交登录凭借其便捷性、安全性和社交化的特点,在各类Web应用中广泛应用。JavaServer Faces(JSF),作为一款流行的Java Web框架,能够轻松集成社交登录功能,显著提升用户体验。本文详细介绍社交登录的优势,并提供两种JSF集成社交登录的常见方法:一是利用Spring Social等第三方库简化开发;二是自行实现社交登录流程。开发者可根据项目需求选择适合的方案。
40 0
|
3月前
|
数据采集 前端开发 开发者
Angular表单控件详解:掌握模板驱动与响应式表单的精髓,让Web应用中的数据采集工作变得高效又简单,彻底告别繁琐的表单处理流程
【8月更文挑战第31天】表单是 Web 应用的关键组件,用于用户登录、注册及信息提交。Angular 作为成熟前端框架,提供了强大的表单处理功能,包括模板驱动与响应式表单。本文通过技术博客形式,详细介绍这两种表单控件,并提供示例代码,展示如何利用它们简化表单处理流程,提高开发效率。首先介绍简单的模板驱动表单,然后讲解基于 RxJS 的响应式表单,适用于复杂逻辑。通过本文,你将学会如何高效地使用 Angular 表单控件,提升应用的用户体验。
36 0