天天看点

定要过python二级 第二套 eval(input())

1.name=random.choice(brandlist)    与第一套中的  random.randint()

2.

eval(input())

看到一段代码,判读输入的数字,用的是eval(input()),查了一下,原来input()会把所有输入值,包括数字,视为字符串,而eval()会去掉字符串最外层的引号,然后当做Python语句执行[mark:语句or表达式,应该是表达式!],直观理解是:看起来像数字的字符串变成数字了。。。

定要过python二级 第二套 eval(input())
>>> a = input()
123
>>> type(a)
<class 'str'>
>>> b = eval(input())
456
>>> type(b)
<class 'int'>
>>>      
定要过python二级 第二套 eval(input())

 一个反例

1

3

>>> a 

=

eval

(

"'pybook'"

)

>>> a

'pybook'

所以本质上,eval是去一层引号,然后按语句执行,eval(input())本质是一个取输入数字的技巧

如果不用eval,怎么取输入的数字?

可以用int, float转数据类型,但效果不如eval

一点补充说明

对于eval(input()),input隐含会在输入最外层加一层引号,即把输入视为一个字符串,eval隐含会去最外层引号,如果输入的字符串带了引号,则这个引号会保留,看下面的例子

>>> guess 

=

eval

(

input

())

'0x452//2'

>>> guess

'0x452//2'

#保留输入的引号

>>> guess 

=

input

()

'0x452//2'

>>> guess

"'0x452//2'"

#2层引号

>>>

就是上面的意思

定要过python二级 第二套 eval(input())

 但是我不知道为什么  在file  里面输入相同的代码   没有加"  "   而是原样输出

3. c 语言     判断输入字符的个数

printf("请输入一行字符:&gt;");

while((c=getchar())!='\n')

a=[]
b=0
a=input()

for i in a:
    if i not  in " \n , .'":
       b+=1
print(b)      

4.

(1)以字符串形式输出,所以需要我们将变量转化成string型!但是,需要注意的是,使用的符号是用于字符串连接的“+”而不是分割字符串和变量的“,”

5.https://blog.csdn.net/qq_46018836/article/details/105199040   讲 了 input()

在初见input()时,我发现了 variable = input(prompt)这个输入格式,一下子惊如天人。觉得Python的input()函数的用户交互真是友善,从此不再需要再像其他一些编程语言一样单独写一个用户提示语。以下面一个片段为例

可以看到,当我们敲击Enter以后,屏幕上会显示我们编写的提示性语言,并等待用户输入。这样给交互性程序编写带来了便利。

解决我的疑惑

定要过python二级 第二套 eval(input())

 6.

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

import jieba
s = input("请输入一个字符串")

n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))      

7.屏幕输出总额(保留整数)。  保留整数就是无小数点 122.0不可以

定要过python二级 第二套 eval(input())

 (1)即使int(input())  之后也要去  int  (160*0.9*b)  为什么因为0.9   又一次把  你最开始弄得int  以经变成浮点型了

8. 记住  turtle  画图形   它的方向就是    水平·向右  

9. turtle.seth(d)   与第一套的  turtle.right(90)    旋转的角度有区别

10.  将  字符串  转化为列表,  names= input(“ 请输入: ”) 

ls= names.split()

ls 现在已经是 列表了

为什么把字符串弄成; 字符串即使切片也是比较难去  取出里面的元素,,,怎么说呢就是    你化成列表之后 ,,你就可以去。通过列表的索引去   取出他们

11.列表将  值  赋给 键的方法    d[i] =

 12.turtle.pensize(2) 像素为2

13.d={}

d[i]  我猜 d[i]  就是    值的意思    i               for  i   in ls:       i   就是   键的含义

 14.  key=    lambda  x:x[1]     怎么说   lambda x   这是一个匿名函数这是一块的,lambda 给一个x ,x是列表      把x列表第一个元素放进去,,,返回x[1]

返回的是 2,,  2,1  进行反转,,然后, 2,3 进行反正转  (reverse=Ture)

15.for  k  in ls :

     printf('%s:%d',a,b) c 语言

但是就是怎么说呢,就是与python   的 print(''  {}  :{} " . format(k[0]),k[1]))  就是所谓的格式化输出

16.我在这里在说一次   第二套的   简单应用第二题。  你在反复的听几遍  你会对列表转化,等等sort  函数  以及get  函数都会有一个会了

17.

定要过python二级 第二套 eval(input())

 如果在PY 301-1.py  之下打开文件,,那么sensor.txt,f=open(sensor.txt ,'r')

这时候不用去,写sensor.txt 具体的位置,因为就是相对路径,所以是直接写,

绝对路径才需要写具体的,它的在哪。(记得把你赋复制过来的)E:\小黑python\xhktsoft\xhktPython\xhkt\ms650000001   改为’/‘/’/‘/’

18.f= open('sensor.txt','r',encoding='utf-8')

我也不知道为什么第三道题  第一问要加   ‘utf-8’    设置编码形式

19.f.readlines() ,,     它处理过的结果就是  一个列表

定要过python二级 第二套 eval(input())

 但是后面都有  \n,,,,且 ,,,, 逗号都有。   ‘    , , ,  ’

 20.python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

 不是  f =f.open('.txt','w')   open函数就是只是打开文件  至于你说的创建文件,,,,,,是以写的形式 。  打开  然后没有文件夹创建一个

21.至于第三道第一问为什么用,,,,f.read()  f.readlines() 第一个是为了统计所有的字符  

 22.https://www.runoob.com/python/python-func-open.html   open()  函数    菜鸟课程

23.来一个小技巧就是,,,ls.  之后你去按tab  键之后,,就是怎么说呢,tab键你会知道这个ls譬如是列表类型,,你会对这个列表进行什么操作。会用到·什么函数。

24.

定要过python二级 第二套 eval(input())

 a=line.strip('\n').split(',')

strip

定要过python二级 第二套 eval(input())

 看看上图,就可以知道

25.  就是怎么说呢。。。。。。d={}

怎么给空列表里面,加键:值

就是的用get方法加循环

for i  in  ls

     d[i]=d.get(i,0)+1

这个它你输出d 之后就是会产生,{‘里面胡:3   ,llklk:2}

键值都有l

26.排序的套路  前提就是把字典转化

定要过python二级 第二套 eval(input())

27.字典没有顺序    字典转化为列表     ls=list(d.items())   套路记清楚

28.   排序的套路  前提就是把字典转化。ls=list(d.items())   不可以ls=list(d)   得先把  化成元组d.iems【(),()】 之后  【(),(),()】

列表才可以排序ls.sort(key=lambda x :x[1] ,reverse=Ture)    

 29。拍好序之后   就是格式化输出了

注意列表的输出 也是得    利用循环  (这里是输出并写入)

for k  in ls

fo.write(’{} ,{ } \n'.  format(k[0],k[1]))

定要过python二级 第二套 eval(input())
>>> a = input()
123
>>> type(a)
<class 'str'>
>>> b = eval(input())
456
>>> type(b)
<class 'int'>
>>>      
定要过python二级 第二套 eval(input())

>>> a 

=

eval

(

"'pybook'"

)

>>> a

'pybook'

>>> guess 

=

eval

(

input

())

'0x452//2'

>>> guess

'0x452//2'

#保留输入的引号

>>> guess 

=

input

()

'0x452//2'

>>> guess

"'0x452//2'"

#2层引号

>>>

定要过python二级 第二套 eval(input())
a=[]
b=0
a=input()

for i in a:
    if i not  in " \n , .'":
       b+=1
print(b)      
定要过python二级 第二套 eval(input())
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

import jieba
s = input("请输入一个字符串")

n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))      
定要过python二级 第二套 eval(input())
定要过python二级 第二套 eval(input())
定要过python二级 第二套 eval(input())
定要过python二级 第二套 eval(input())
定要过python二级 第二套 eval(input())
定要过python二级 第二套 eval(input())