有人可能会想,连2-1和2-2这样的题目都回答,够无聊的啊。
因为现在处于并长期处于成为大师的第一阶段------守的阶段
>>> a= ‘123‘
>>> a
‘123‘
>>> print (a)
123
a是字符串123,如果格式化输出有问题报如下错误:
>>> print (‘a is %d‘% a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
这样就正确了。
>>> print (‘a is %s‘ % a)
a is 123
a如果是×××:
>>> a = 123
>>> print (‘a is %s‘% a)
a is 123
>>> a
123
>>> print (a)
123
>>> print (‘a is %d‘ %a )
a is 123
print和交互式解释器显示对象的区别:
print调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象。
(a) 用来计算1+2x4的结果
(b)作为脚本什么都不输出
(c)预期的一样,因为这个脚本没有print输出
(d)在交互式系统中有输出,如下:
>>> #!/usr/bin/env python
... 1 + 2 * 4
9
>>>
(e)脚本改进如下:
#!/usr/bin/env python
print (1 + 2 * 4)
输出结果如下:

在python3中/是真正的除法,//是地板除(取整,取比实际除法得到的结果小最近的整数)
脚本:
[root@centos7_01 P36practise]# cat 2_4.py
#!/usr/bin/env python
x = raw_input("please input a string:\n")
print x
运行结果:
[root@centos7_01 P36practise]# python 2_4.py
please input a string:
ad cd
ad cd
[root@centos7_01 P36practise]# cat 2-5.py
#!/usr/bin/env python
print
print ("using loop while:")
i = 0
while i < 11 :
print i
i += 1
print
print ("*"*50)
print ("using loop for:")
for i in range(11):
print i
print
运行结果:
[root@centos7_01 P36practise]# python 2-5.py
using loop while:
0
1
2
3
4
5
6
7
8
9
10
**************************************************
using loop for:
0
1
2
3
4
5
6
7
8
9
10
[root@centos7_01 P36practise]# cat 2-6.py
#!/usr/bin/env python
import sys
print ("if you want to exit the program please insert q\n")
i = raw_input("please input a number:\n")
def fun(i):
try:
i = int(i)
except ValueError:
print ("WARNING !!! %s is not permit \nplease input a num or ‘q‘:\n")%i
sys.exit()
if i < 0:
print "judge:%d is negative" % i
print
elif i == 0:
print "judge:%d is zero" % i
print
else:
print "judge:%d is positive" % i
print
while i != ‘q‘:
fun(i)
i = raw_input("please input a number:\n")
else:
sys.exit()
运行结果:(输入ctrl+c退出)
[root@centos7_01 P36practise]# python 2-6.py
if you want to exit the program please insert q
please input a number:
1
judge:1 is positive
please input a number:
-1
judge:-1 is negative
please input a number:
0
judge:0 is zero
please input a number:
^CTraceback (most recent call last):
File "2-6.py", line 27, in <module>
i = raw_input("please input a number:\n")
KeyboardInterrupt
输入q退出:
[root@centos7_01 P36practise]# python 2-6.py
if you want to exit the program please insert q
please input a number:
-1
judge:-1 is negative
please input a number:
1
judge:1 is positive
please input a number:
q
[root@centos7_01 P36practise]#
[root@centos7_01 P36practise]# cat 2-7.py
#!/usr/bin/env python
#encoding:utf8
import sys
str = raw_input("please input a string:\n")
for i in str:
print i
print "*"*50
print
print "网上搜来的方法:\n"
i = 0
while i < len(str):
print str[i]
i += 1
print "野路子\n"
i = 0
while str:
try:
print str[i]
except IndexError:
sys.exit()
i += 1
[root@centos7_01 P36practise]#
运行结果:
[root@centos7_01 P36practise]# python 2-7.py
please input a string:
ahead blonging ok
a
h
e
a
d
b
l
o
n
g
i
n
g
o
k
**************************************************
网上搜来的方法:
a
h
e
a
d
b
l
o
n
g
i
n
g
o
k
野路子
a
h
e
a
d
b
l
o
n
g
i
n
g
o
k
修改程序后,禁止掉他的换行
[root@centos7_01 P36practise]# cat 2-7.py
#!/usr/bin/env python
#encoding:utf8
import sys
str = raw_input("please input a string:\n")
print
for i in str:
print i,
print
print
print "*"*50
print
print "网上搜来的方法:\n"
i = 0
while i < len(str):
if i == len(str):
print str[i]
else:
print str[i],
i += 1
print
print
print "野路子:\n"
i = 0
while str:
try:
print str[i],
except IndexError:
sys.exit()
i += 1
[root@centos7_01 P36practise]#
运行结果:
[root@centos7_01 P36practise]# python 2-7.py
please input a string:
what
w h a t
**************************************************
网上搜来的方法:
w h a t
野路子:
w h a t
[root@centos7_01 P36practise]#
[root@centos7_01 P36practise]# cat 2-8.py
#!/usr/bin/env python
#tuple1 = (1, 2, 3, 4, 5)
#list1 = [5, 6, 7, 8, 9]
#
def sum1(x):
sum = 0
for i in x:
sum += i
print sum,"sum1"
def sum2(x):
sum = 0
i = 0
list2 = list(x)
while i < len(list2):
sum += list2[i]
i += 1
print sum,‘sum2‘
#print "using for sum\n"
#sum1(tuple1)
#sum1(list1)
#print
#print "using while sum\n"
#sum2(list1)
#sum2(tuple1)
#
#print
#print "interactive input tuple or list:\n"
#
x = raw_input("please input a tuple or list:\n")
def f(x):
l = []
for i in x.split(‘ ‘):
try:
l.append(int(i))
except ValueError:
print ‘the value you input have some innumberal character\n‘
return l
y = f(x)
sum1(y)
运行结果
[root@centos7_01 P36practise]# python 2-8.py
please input a tuple or list:
1 2 3 4 5
15 sum1
[root@centos7_01 P36practise]# cat 2-9.py
#!/usr/bin/env python
#tuple1 = (1, 2, 3, 4, 5)
#list1 = [5, 6, 7, 8, 9]
#
def sum1(x):
sum = 0
for i in x:
sum += i
return sum
def sum2(x):
sum = 0
i = 0
list2 = list(x)
while i < len(list2):
sum += list2[i]
i += 1
return sum,list2
def average(x,y):
z = float(x) / y
print z
#print "using for sum\n"
#sum1(tuple1)
#sum1(list1)
#print
#print "using while sum\n"
#sum2(list1)
#sum2(tuple1)
#
#print
#print "interactive input tuple or list:\n"
#
x = raw_input("please input a tuple or list:\n")
def f(x):
l = []
for i in x.split(‘ ‘):
try:
l.append(int(i))
except ValueError:
print ‘the value you input have some innumberal character\n‘
return l
y = f(x)
average(sum1(y),len(y))
运行结果:
[root@centos7_01 P36practise]# python 2-9.py
please input a tuple or list:
1 2 3 4 5
3.0
代码:
[root@centos7_01 P36practise]# cat 2-10.py
#!/usr/bin/env python
#encoding:utf
import sys
def num_judge(x):
if x >= 1 and x <= 100:
return True
else:
return False
while 1:
try:
x = int(raw_input(‘please input a num:\n‘))
except ValueError:
print "please input a number! byebye!\n"
sys.exit()
#一开始没有对x进行int处理,导致在1~100之间的数字也不能成功
print ‘*‘*50
if num_judge(x):
print "success!"
print
else:
print ‘please input a number between 1 and 100‘
print
# else:
# x = raw_input(‘please input a num:\n‘)
# 一开始有这个部分,导致下面这种情况出错:
# 先输入一个不符合的数字,然后再输入一个符合的,这是这个第一次符合的数字会误判成不符合,就是因为多写了这个else
# 后来把else:里面加了pass。后来发现干脆把else去掉了。i‘‘‘
#while 循环的核心思想是,只要为真,while中的子句总是从上往下一直执行下去
运行结果:
[root@centos7_01 P36practise]# python 2-10.py
please input a num:
1
**************************************************
success!
please input a num:
2
**************************************************
success!
please input a num:
101
**************************************************
please input a number between 1 and 100
please input a num:
adf
please input a number! byebye!
[root@centos7_01 P36practise]#
[root@centos7_01 P36practise]# cat 2-11.py
#!/usr/bin/env python
#encoding:utf8
import sys
#求和
def sum1(x):
sum = 0
for i in x:
sum += i
return sum
#求平均值
def average(x,y):
z = float(x) / y
print z
#转换输入的数据
def f(x):
l = []
for i in x.split(‘ ‘):
try:
l.append(int(i))
except ValueError:
print ‘the value you input have some innumberal character\n‘
return l
def max(x):
print "The maxium num in this line is :\n"
x = raw_input("please input a tuple or list:\n")
y = f(x)
print "please choose you calculator:\n"
print "(1)取五个数的和:\n(2)取五个数的平均值\n(X)退出\n"
while 1:
k = raw_input("please input a str in 1,2, ..., X:\n")
if k == ‘1‘:
print sum1(y)
if k == ‘2‘:
sum1(y)
print "*"*50
average(sum1(y),len(y))
if k == ‘3‘:
max(y)
if k == ‘X‘:
sys.exit()
运行结果:
[root@centos7_01 P36practise]# python 2-11.py
please input a tuple or list:
a 2 3 4 5
the value you input have some innumberal character
please choose you calculator:
(1)取五个数的和:
(2)取五个数的平均值
(X)退出
please input a str in 1,2, ..., X:
1
14
please input a str in 1,2, ..., X:
2
**************************************************
3.5
please input a str in 1,2, ..., X:
x
please input a str in 1,2, ..., X:
X
[root@centos7_01 P36practise]#
原文:https://blog.51cto.com/12280599/2381919