2020.4.9
输入和输出密码的两种方式
像input中得到的输入数据的类型是string类型,所以和双引号中的数据类型是相同的,均为string.所以在输出的时候可以用+号来相连接(这个是我在扇贝编程里面学到的),因此输出的结果就是两个字符串相连。
第二种输出方式就是按照b站上面的教学视频看到的,用逗号来连接。这里的逗号起到的是什么作用我也不太清楚,不过password和a的类型都是string 是没有问题的。但是用逗号分隔的和用加号分隔的展现方式不一样,中间会多一个空格。不知道为什么会这样??
解答:
在知乎上面查找了一下,找到了一个基础教学的页面。就是这样的,因为逗号里面会有一个默认的分隔符:空格。所以两个方式都是相同的结果,得到的都是两个字符串相连接。
Print 的基本语法
在这一次调试的过程中发现了几个问题。当我第一次在jupyter上面一次性写完这所有的print之后,没有链接成功,然后我就单独的在python shell上面复制了一个print(‘Hello World’) 然后就可以正常输出了。然后我再一次把所有的print都复制到python shell 里面,发现了图中显示的错误。就是说 syntaxerror(好像是语法错误的意思吧):multiple statements found while compiling a single statement.
于是我在CSDN上面查找这个错误,我找到了这个网页https://blog.csdn.net/jsx_SEVEN/article/details/102881645?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158641415919725256743013%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=158641415919725256743013&biz_id=14&utm_source=distribute.pc_search_result.none-task-blog-soetl_SOETL-1
天,好长啊。然后大概的分析我来总结一下。
我犯了一个非常简单的错误,但是这背后的思想精髓也是非常重要的。我们在一开始学python的时候都会有老师讲到,python是一门交互性语言,就是说你说一句,编译器翻译一句,然后操作系统执行一句,就是说一次命令当中只能包含一个语句,不能包含多条命令!!!看,是不是很简单,可是我却犯了这么简单的错误,那么如何解决这个问题呢?我们可以尝试生成一个python文件,里面包含所有的命令,现在我来试一试看能不能一次性执行多条命令吧:
首先我生成了这样一个文件,然后执行他:
我得到了这个结果!这个意味着什么,就是我
的多个命令在生成文件之后是可以一次性执行的。这就是生成了文件的作用。生成文件之后,编译器会一次性编译所有的命令,然后执行的时候操作系统就会一次性执行所有的命令了。以后遇到这样的问题也要记住哦~
接下来我们回到print的几个基本语法吧
print("Hello","World")
这一句话的意思是,str1是Hello str2是World 然后输出的结果就是 Hello World 注意这里是有一个分隔符的,就意味着逗号用来连接两个字符串是自带了默认的分隔符空格的
print("Hello"+"World")
输出的结果是 HelloWorld 这里的加号也是一个拼接符号,意味着将两个字符串或者是多个字符串拼接起来,但是字符串之间是没有空隙的,完全紧密连接
print("Hello","World",sep="***")
这里是使用逗号来分隔两个字符串的语法,但是后面可以自定义两个字符串之间的分隔符,用逗号隔开,然后写sep=*** 这里其实我的理解就是,用逗号隔开的时候,语法就是可以自定义分隔符,但是如果没有自定义的话,就是默认为空格为分隔符,其实逗号本身是没有语法的,只是起到一个分隔数据元素的作用,而加号本身是具有语法意义的。
直到现在,我就终于弄清楚加号和逗号分隔的作用的区别在哪里了。
print("#" * 50)
这一句话表示输出50个#
print("How are you?",end='')
这一句话我不是很了解,因为有没有最后一句 end = ‘ ’ 我的执行结果都没有什么区别,所以这个语法有待以后来深入了解。