day01-test
1.在Linux电脑上安装python,ipython,pycharm专业版本软件
2. 在Windows电脑上安装python3版本,并配置环境变量,确保Dos环境下运行脚本;
windows是直接使用不了的,需要设置环境变量
3. Linux下有多少种运行python的不同方法,并分析各自优缺点。并说说你最喜欢哪一种?
有ipython python vim等方式
最喜欢的当然是ipython了 因为ipython可以进行tab补齐 非常的方便 同时ipython是在cpython的基础上增强了交互式功能
4. 编写脚本,使用print语句编写脚本在屏幕上显示你名字、年龄、最喜欢的颜色
和与你相关的一些事情(背景、兴趣、爱好等等);
print """
name:riven
age:22
color:orange
dream:do something i like
"""
测试结果
print """
name:riven
age:22
color:orange
dream:do something i like
"""
5. 阅读下面的 Python 脚本:
#!/usr/bin/env python
1 + 2 * 4
a) 你认为这段脚本是用来做什么的?
计算 1+2*4
b) 你认为这段脚本会输出什么?
9
c) 输入以上代 码,并保存为脚本,然后运行它。它所做的与你的预期一样吗?为什么一样/不一样?
不一样 没有输出 没有进行print打印出来
d) 这段代码单独执行和在交互解释器中执行有何不同? 试一下,然后写出结果
交互式环境下可以直接输出
In [1]: 1 + 2*4
Out[1]: 9
e) 如何改进这个脚本, 以便它能和你想像的一样工作?
添加一个print就好了 print 1 + 2*4
6. 变量赋值:
1). 赋值语句 x, y,z = 1, 2, 3 会在 x、y、z中分别赋什么值?
x 1 y 2 z 3
2). 执行 z, x, y= y, z, x 后,x、y、z中分别含有什么值?
x 3 y 1 z 2
7. 标识符。下面哪些是 Python 合法的标识符?如果不是,请说明理由!
int32 40XL $aving$ printf print
_print this self __name__ 0x40L
bool true big-westos 2hot2ls type
thisIs thisisInt R_U_Ready Int True
if do counter-1 access_
合法的标示符由字母数字和下划线组成 但是第一个字符不能是数字 关键字也不能作为标示符
不合法: 40XL $aving$ printf print this 0x40L bool true big-westos 2hot2ls type if do counter-1access_
8. 带循环和条件判断的给定一个数值num, 用户输入使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数等于num,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。
我的答案
while True:
num = raw_input("请输入一个1和100之间的数值:")
if num == "36":
print "成功!!!"
exit()
else:
print "请重新输入一个数字"
continue
测试结果
[root@localhost Desktop]# ./annie.py
请输入一个1和100之间的数值:23
请重新输入一个数字
请输入一个1和100之间的数值:44
请重新输入一个数字
请输入一个1和100之间的数值:36
成功!!!
符合题目中的条件
9. (if..elif..elif..else考察, 循环语句的考察)
带文本菜单的程序写一个带文本菜单的程序,菜单项如下
(1) 取五个数的和
(2) 取五个数的平均 值
....
(X)退出。(exit())
由用户做一个选择,然后执行相应的功能.当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。
print """
五个数的和:1
五个数的平均值:2
五个数的乘积:3
退出:4
不知道的功能:else
"""
select = input("先作出一个选择:")
while True:
if select == 4:
exit()
else:
select = input("输入你的选择啊:")
num1 = input("输入你的第一个数字:")
num2 = input("输入你的第二个数字:")
num3 = input("输入你的第三个数字:")
num4 = input("输入你的第四个数字:")
num5 = input("输入你的第五个数字:")
if select == 1:
printnum1+num2+num3+num4+num5
elif select == 2:
print(num1+num2+num3+num4+num5)/5
elif select == 3:
print num1*num2*num3*num4*num5
else:
print "我觉得你是来找茬的"
continue
测试结果如下
[root@localhost Desktop]# ./annie.py
五个数的和:1
五个数的平均值:2
五个数的乘积:3
退出:4
不知道的功能:else
先作出一个选择:4
[root@localhost Desktop]# ./annie.py
五个数的和:1
五个数的平均值:2
五个数的乘积:3
退出:4
不知道的功能:else
先作出一个选择:1
输入你的选择啊:1
输入你的第一个数字:1
输入你的第二个数字:1
输入你的第三个数字:1
输入你的第四个数字:1
输入你的第五个数字:1
5
输入你的选择啊:2
输入你的第一个数字:1
输入你的第二个数字:1
输入你的第三个数字:1
输入你的第四个数字:1
输入你的第五个数字:1
1
输入你的选择啊:3
输入你的第一个数字:2
输入你的第二个数字:2
输入你的第三个数字:2
输入你的第四个数字:2
输入你的第五个数字:2
32
输入你的选择啊:4
输入你的第一个数字:1
输入你的第二个数字:1
输入你的第三个数字:1
输入你的第四个数字:1
输入你的第五个数字:1
我觉得你是来找茬的
10. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
我的答案
for in range(1,5):
for j in range(1,5):
for m in range(1,5):
if i != j and i!= m and m != j:
print"%d%d%d" %(i, j, m),
num +=1
print
print num
测试结果如下
[root@localhost Desktop]# ./annie.py
由 1 2 3 4 能组成多少个互不相同且无重复数字的三位数
分别都是多少啊
123 124 132 134 142 143
213 214 231 234 241 243
312 314 321 324 341 342
412 413 421 423 431 432
24