Python_2day
选择
布尔类型、数值和表达式


- 注意:比较运算符的相等是两个等号,一个等到代表赋值
- 在Python中可以用整型0来代表False,其他数字来代表True
- 后面还会讲到 is 在判断语句中的用发
In [32]:
a = id(1)
b = id(1)
print(a,b)
# 因为a和b并不是同一个对象
a is b
Out[32]:
In [33]:
a = id(1)
b = a
a is b
Out[33]:
In [22]:
a = True
b = False
In [31]:
id(True)
Out[31]:
In [ ]:
In [23]:
a == b
Out[23]:
In [24]:
a is b
Out[24]:
字符串的比较使用ASCII值
In [37]:
a = "jokar"
b = "jokar"
a > b
Out[37]:
Markdown
肯定会给发数据划分啊
∑𝑁𝑗=1𝑥𝑗∑j=1Nxj
In [ ]:
EP:


- 输入一个数字,判断其实奇数还是偶数
产生随机数字
- 函数random.randint(a,b) 可以用来产生一个a和b之间且包括a和b的随机整数
In [38]:
import random
In [40]:
random.randint(0,1)
Out[40]:
In [ ]:
if condition:
do someething
else:
other
In [ ]:
for iter_ in xxx:
do something
In [46]:
age = 10
Joker = eval(input('Name'))
print(Joker)
产生一个随机数,你去输入,如果你输入的数大于随机数,那么就告诉你太大了,反之,太小了, 然后你一直输入,知道它满意为止
In [55]:
number =random.randint(0,5)
In [58]:
for i in range(5):
input_ = eval(input('>>'))
if input_ > number:
print('太大啦')
if input_ < number:
print('太小啦')
if number == input_:
print('正好')
break
In [59]:
for i in range(5):
print(i)
其他random方法
- random.random 返回0.0到1.0之间前闭后开区间的随机浮点
- random.randrange(a,b) 前闭后开
In [60]:
random.random()
Out[60]:
In [61]:
import matplotlib.pyplot as plt
In [64]:
image=plt.imread('/Users/huwang/Downloads/cat.jpeg')
print(image*random.random())
plt.imshow(image)
. . .
EP:
- 产生两个随机整数number1和number2,然后显示给用户,使用户输入数字的和,并判定其是否正确
- 进阶:写一个随机序号点名程序
In [69]:
number_1 = random.randrange(0,10)
number_2 = random.randrange(0,10)
while 1:
sum_ = eval(input('>>'))
if sum_ == (number_1 + number_2):
print('Congratulations! Correct~')
else:
print('Sorry~SB.')
. . .
In [ ]:
if语句
-
如果条件正确就执行一个单向if语句,亦即当条件为真的时候才执行if内部的语句
-
Python有很多选择语句:
- 单向if
- 双向if-else
- 嵌套if
- 多向if-elif-else
-
注意:当语句含有子语句的时候,那么一定至少要有一个缩进,也就是说如果有儿子存在,那么一定要缩进
-
切记不可tab键和space混用,单用tab 或者 space
-
当你输出的结果是无论if是否为真时都需要显示时,语句应该与if对齐
In [72]:
input_ = eval(input('>>'))
if input_ > number:
print('太大啦')
if input_ < number:
print('太小啦')
if number == input_:
print('正好')
print('不要灰心')
李文浩相亲测试树
年龄
老 年轻
拜拜
帅 否 是 考虑一下 老婆 没有 有 马上结婚 回家的诱惑
代码写不出来的立马分手,从此社会上有多出一个渣男/渣女.
In [4]:
age = input('年轻嘛[y/n]')
if age == 'y':
handsome = input('帅否[y/n]')
if handsome == 'y':
wife = input('有没有老婆[y/n]')
if wife == 'y':
print('回家的诱惑')
else:
print('立马结婚')
else:
print('考虑一下')
else:
print('拜拜~')
EP:
- 用户输入一个数字,判断其实奇数还是偶数
- 进阶:可以查看下4.5实例研究猜生日
双向if-else 语句
- 如果条件为真,那么走if内部语句,否则走else内部语句
EP:
- 产生两个随机整数number1和number2,然后显示给用户,使用户输入数字,并判定其是否正确,如果正确打印“you‘re correct”,否则打印正确错误
嵌套if 和多向if-elif-else


In [ ]:
if score >= 80:
gread = 'B'
elif score>=90:
gread = 'A'
EP:

- 提示用户输入一个年份,然后显示表示这一年的动物

- 计算身体质量指数的程序
- BMI = 以千克为单位的体重除以以米为单位的身高的平方

In [9]:
tizhong = eval(input('体重'))
shengao = eval(input('身高'))
BMI = tizhong / shengao ** 2
if BMI<18.5 :
print('超清')
elif 18.5<=BMI<25 :
print('标准')
elif 25<=BMI<30 :
print('超重')
else:
print('超级无敌胖')
逻辑运算符





EP:
- 判定闰年:一个年份如果能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年
- 提示用户输入一个年份,并返回是否是闰年
- 提示用户输入一个数字,判断其是否为水仙花数
实例研究:彩票


In [16]:
import random
In [25]:
number = random.randint(10,99)
print(number)
N = input('>>')
number_shi = number // 10
number_ge = number % 10
if N[0] == '0':
N_shi = 0
else:
N_shi = int(N) // 10
N_ge = int(N) % 10
if number == int(N):
print('10000')
# elif (number_shi == N_shi or number_shi==N_ge) and (number_ge == N_shi or number_ge==N_ge):
elif number_shi + number_ge == N_shi + N_ge:
print('3000')
elif (number_ge ==N_ge or number_ge == N_shi) or (number_shi == N_ge or number_shi == N_shi):
print('1000')
In [3]:
a = "05"
a[0]
Out[3]:
In [22]:
05 // 10
Out[22]:
In [14]:
Number = eval(input('>>'))
bai = Number // 100
shi = Number // 10 % 10
ge = Number % 10
if bai**3 + shi **3 + ge **3 == Number:
print('水仙花')
else:
print('不是水仙花')
In [15]:
223 // 10
Out[15]:
Homework
- 1

In [26]:
import math
a,b,c = map(float,input().split(','))
s = b * b - 4 * a * c
if s > 0:
r1 =(-b + math.sqrt(b * b - 4 * a *c)) / (2 * a)
r2 =(-b - math.sqrt(b * b - 4 * a *c)) / (2 * a)
print('%.6f and %.5f'%(r1,r2))
elif s == 0:
r3 = -b / (2 * a)
print(int(r3))
else :
print('没有实数根')
- 2

In [4]:
import random
a = random.randrange(10,99)
b = random.randrange(10,99)
z = a + b
print(a,b,z)
jieguo = int(input())
if z == jieguo:
print('真的')
else:
print('假的')
- 3

In [18]:
x = int(input())
y = int(input())
a = x % 7
b = y % 7
if a == 0 or b == 0:
print('星期日,未来是星期三')
elif a == 1 or b == 1:
print('星期一,未来是星期四')
elif a == 2 or b == 2:
print('星期二,未来是星期五')
elif a == 3 or b == 3:
print('星期三,未来是星期六')
elif a == 4 or b == 4:
print('星期四,未来是星期日')
elif a == 5 or b == 5:
print('星期五,未来是星期一')
elif a == 6 or b == 6:
print('星期六,未来是星期二')
- 4

In [13]:
a,b,c = map(int,input('输入三个整数').split(' '))
if a > b > c:
print(a,b,c)
elif a > c > b:
print(a,c,b)
elif b > a > c:
print(b,a,c)
elif b > c > a:
print(b,c,a)
elif c > a > b:
print(c,a,b)
else:
print(c,b,a)
- 5

In [16]:
w,p = map(float,input().split(','))
w1,p1 = map(float,input().split(','))
s = p / w
y = p1 / w1
if s > y:
print('第二个好')
else:
print('第一个好')
- 6

In [ ]:
a,b = map(int,input().split(','))
if a % 4 == 0 and a % 100 != 0 or a % 400 == 0:
c = 29
else:
c = 28
if b == 1 or b == 3 or b == 5 or b == 7 or b == 8 or b == 10 or b == 12:
d = 31
elif b == 2:
d = c
else:
d = 30
print( '%f年%f月份有%f天'%(a,b,d))
- 7

In [32]:
import random
a = random.choice(['正', '反'])
print(a)
s = str(input())
if a == s or a == y:
print('正确')
else:
print('错误')
- 8

In [4]:
import random
x = random.choice(["0","1","2"])
print(x)
y = [['0','2'],['1','0'],['2','1']]
z = input('ren')
if z == x:
print('平手')
elif [z,x] in y:
print('人赢')
else:
print('电脑赢')
In [ ]:
- 9

In [8]:
import math
year,m,q=map(int,input('请输入年月日').split(','))
j=math.floor(year/100)
k=year%100
h=(q+math.floor(26*(m+1)/10)+k+math.floor(k/4)+math.floor(j/4)+5*j)%7
week=['星期六','星期日','星期一','星期二','星期三','星期四','星期五']
print('Day of the week is %s'%week[h])
- 10

In [56]:
import random
x = random.choice(['ace','2','3','4','5','6','7','8','9','10','jack','queen','king'])
y = random.choice(['梅花','红桃','方块','黑桃'])
print('The card you picked is the %s of %s' %(x,y))
- 11

In [48]:
x = int(input('输入一个三位整数'))
a = x % 10
b = x // 100
if a == b:
print('是')
else:
print('不是')
- 12

In [45]:
import math
a,b,c = map(float,input().split(' '))
if a + b > c and a + c > b and b + c > a:
print('周长: %f' % (a + b + c))
p = (a + b + c) / 2
else:
print('不能构成三角形')

浙公网安备 33010602011771号