python语法元素(二)

1.5输入函数input

前面提到过用python编写程序时遵循IPO方法,其中I和O分别代表input(输入)和output(输出)。

input函数用于获取用户从控制台输入的数据。作为程序设计者我们知道去输入什么样的数据可以使用我们的程序,但是作为用户看不到你的程序,他就不知道输入什么样的数据才能使用程序,因此,我们在使用input函数让用户输入数据时可以给用户一些提示让我们的程序更加人性化,增加人机交互。input函数支持提示性的文字,使用方法是a=input(“x”)
其中a代表input函数的返回结果,引号中的x代表任意提示语句。这样就可以让我们的程序给用户带来很好的体验啦

**划重点,敲黑板啦!!!
特别注意,无论用户从键盘输入什么类型,input函数都以字符串类型返回结果,所以这个时候问题就来了呢,那我要用的是整数类型,返回给我一个字符串类型那我怎么用呢???,因此,python给我们提供了一个eval函数

1.5.1eval函数

eval函数可以按照python表达式的方式解析并执行字符串,简单点来说就是,你给eval函数一个字符串,eval函数可以帮助你把字符串整体最外侧的两个引号去掉。
例如你给eval函数一个“great”字符串,eval函数把最外侧的两个引号去掉后返回great,great不是系统的33个保留字之一,于是把great解释为变量,由于你事先没有对great赋初值,编译器会报错。
再比如你给它一个“‘great”’,去掉两个引号后得到‘great’,是一个字符串,于是eval返回给你一个字符串great
如下图第一行是三个引号的great,第二行是两个引号的great
在这里插入图片描述
如下图第一行输出结果为great字符串,第二行输出给你报了错,说是great没有事先定义。
在这里插入图片描述
因此eval函数是我们python中比较重要的一个函数,大家要好好理解,熟练应用呢


与c语言和java相比:
c语言通过scanf函数从键盘获取用户输入,且用户需按输入类型使用合适的控制符进行占位,比如你要输入两个整数那么应该写成scanf("%d%d",&a,&b);其中a,b是用户事先定义的整形变量,整型变量用%d来进行占位,关于更多的scanf细节我会在接下来的c语言语法知识点中进行更新,记得要关注我获取哟。
由于java是一门面向对象的语言,因此java通过Scanner类进行输入,后续我会在java语法篇中更新。
总的来说还是我们python的输入简洁一些呢。


1.6输出函数print

print函数运用槽机制和format方法来输出字符串和变量。其中print函数使用格式为print(待输出字符串),我们的format方法使用规则为:A.format(B),其中A代表模板字符串,B代表逗号分隔的参数,如果模板字符串中想要输出变量的话就要使用槽{}来进行占位,其实槽就像是植物大战僵尸里面的墓碑一样,墓碑会占据你草坪一格的位置,然后占位之后会有僵尸从墓碑里面钻出来,只不过槽是给变量占位的而想要输出的变量会在B中以参数形式给出,比如每个考生的高考成绩就可以通过槽机制进行输出:
“尊敬的{}考生,您的成绩为:语文{},数学{},英语{},综合{}”.format(name,chinese,math,english,science)我们假定name,chinese,math,english,science是实现定义的五个变量,那我们我们就完成了一次输出

在这里插入图片描述
输出结果差不多是这个亚子的,
在这里插入图片描述

ps:
c语言支持格式化输出,采用printf函数进行输出,其中print就是输出,f是format函数,只不过c语言把print和format结合了起来就有了printf输出较为简洁,我们在做算法题的时候会碰到一堆花里胡哨的输出例子,c语输出较为简洁,因此c语言打算法比赛会好一点,大一下学习java,用java做算法题的时候输出真的把我搞得头大,不过java自带大数和高精度也是挺香的。
java输出依旧是面向对象,采用System.out.print()进行输出个人感觉也是没有c语言的输出简便


那我们就下次再见了吧,记得关注我哟,感冒打字实属不易,那就给个关注叭
ฅ՞•ﻌ•՞ฅ

猜你喜欢

转载自blog.csdn.net/zmj11_/article/details/107825638