如果输入的是整数,判断这个整数是奇数还是偶数,并且告诉给用户
在这个练习中,显然要对输入的内容进行判断,以下几点需要看官注意:
通过raw_input()得到的输入内容,都是str类型
要判断一个字符串是否是由纯粹数字组成,可以使用str.isdigit()(建议看官查看该内置函数官方文档)
下面的代码是一个参考:
#! /usr/bin/env python
#coding:utf-8
print "请输入字符串,然后按下回车键:"
user_input = raw_input()
result = user_input.isdigit()
if not result:
print "您输入的不完全是数字"
elif int(user_input)%2==0:
print "您输入的是一个偶数"
elif int(user_input)%2!=0:
print "您输入的是一个奇数"
else:
print "您没有输入什么呢吧"
特别提醒列为,这个代码不是非常完善的,还有能够修改的地方,看官能否完善之?
再来一个如何?
已知一个由整数构成的list,从中跳出奇数和偶数,并且各放在一个list中。
请看官在看下面的参考代码之前,自己写一写。
#!/usr/bin/env python
#coding:utf-8
import random
numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list
odd = []
even = []
for x in numbers:
if x%2==0:
even.append(x)
else:
odd.append(x)
print numbers
print "odd:",odd
print "even:",even
用这个例子演示一下if在list解析中的应用。看能不能继续改进一些呢?
可以将循环的那部分用下面的list解析代替
#!/usr/bin/env python
#coding:utf-8
import random
numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list
odd = [x for x in numbers if x%2!=0]
even = [x for x in numbers if x%2==0]
print numbers
print "odd:",odd
print "even:",even
一个有趣的赋值
对赋值,看官应该比较熟悉了吧,如果要复习,请看《[赋值,简单也不简单]》(./127.md)以及《[正规地说一句]》(./201.md)的相关内容。
这里说的有趣赋值是什么样子的呢?请看:
>>> name = "qiwsir" if "laoqi" else "github"
>>> name
'qiwsir'
>>> name = 'qiwsir' if "" else "python"
>>> name
'python'
>>> name = "qiwsir" if "github" else ""
>>> name
'qiwsir'
总结一下:A = Y if X else Z
什么意思,结合前面的例子,可以看出:
如果X为真,那么就执行A=Y










