day 2


Python 3 
不可信
File
Edit
View
Insert
Cell
Kernel
Widgets
Help
 
 
 
运行
 
 
 
选择
布尔类型、数值和表达式
注意:比较运算符的相等是两个等号,一个等到代表赋值
在Python中可以用整型0来代表False,其他数字来代表True
后面还会讲到 is 在判断语句中的用发
In [32]:

a = id(1)
b = id(1)

print(a,b)
# 因为a和b并不是同一个对象
a is b
 
4370970016 4370970016
Out[32]:
False
In [33]:

a = id(1)
b = a
a is b

Out[33]:
True
In [22]:

a = True
b = False
 
In [31]:

id(True)

Out[31]:
4370566624
In [ ]:

 
In [23]:

a == b

Out[23]:
False
In [24]:

a is b

Out[24]:
False
字符串的比较使用ASCII值
In [37]:

a = "jokar"
b = "jokar"
a > b

Out[37]:
False
Markdown
https://github.com/younghz/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]:
1
In [ ]:

if condition:
    do someething
else:
    other
 
In [ ]:

for iter_ in xxx:
    do something
 
In [46]:

age = 10
Joker = eval(input('Name'))
print(Joker)
 
Nameage
10
产生一个随机数,你去输入,如果你输入的数大于随机数,那么就告诉你太大了,反之,太小了, 然后你一直输入,知道它满意为止
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
 
>>0
太小啦
>>0
太小啦
>>0
太小啦
>>0
太小啦
>>0
太小啦
In [59]:

for i in range(5):
    print(i)
 
0
1
2
3
4
其他random方法
random.random 返回0.0到1.0之间前闭后开区间的随机浮点
random.randrange(a,b) 前闭后开
In [60]:

random.random()

Out[60]:
0.5903384303938066
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('不要灰心')
 
>>1
正好
不要灰心
李文浩相亲测试树
  年龄
老 年轻
拜拜
帅 否 是 考虑一下 老婆 没有 有 马上结婚 回家的诱惑
代码写不出来的立马分手,从此社会上有多出一个渣男/渣女.
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('拜拜~')
 
年轻嘛[y/n]y
帅否[y/n]y
有没有老婆[y/n]y
回家的诱惑
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('超级无敌胖')
 
体重500
身高10000
超清
逻辑运算符

 
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')
 
24
>>40
1000
In [3]:

a = "05"
a[0]

Out[3]:
'o'
In [22]:

05 // 10

Out[22]:
'J'
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('不是水仙花')
 
>>123
不是水仙花
In [15]:

223 // 10

Out[15]:
2
Homework
1
In [3]:

import math
for i in range(3):
    a,b,c=map(float,input('Enter a,b,c:').split(','))
    final1=(-b+(b**2-4.0*a*c)**0.5)/2*a
    final2=(-b-(b**2-4.0*a*c)**0.5)/2*a
    final=b**2-4.0*a*c
    if final > 0:
        print('The roots are %.6f and %.5f'%(final1,final2))
    if final == 0:
        print('The root is%d'%(final1))
    if final < 0:
        print('The equation has no real roots')
 
Enter a,b,c:1.0,3,1
The roots are -0.381966 and -2.61803
Enter a,b,c:1,2.0,1
The root is-1
Enter a,b,c:1,2,3
The equation has no real roots
2
In [10]:

import random
A = int(input('请输入这两个整数的和:'))
a = random.randint(0,100)
b = random.randint(0,100)
B = a+b
if A==a+b:
    print('真')
else:
    print('假,且结果为:{}'.format(B))
 
请输入这两个整数的和:19
假,且结果为:139
3
In [4]:

today = int(input("Enter today's day:"))
future = int(input("Enter the number of days elapsed since today:"))
week = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
futureweek = today + future
ok=0
ok = futureweek % 7
print("Today is %s and the future day is %s"%(week[today],week[ok]))
   
 
Enter today's day:0
Enter the number of days elapsed since today:31
Today is Sunday and the future day is Wednesday
4
In [19]:

a,b,c=map(float,input('请输入3个整数').split(','))
if a<b<c:
    print('从小到大的顺序为%d %d %d'%(a,b,c))
elif b<a<c:
    print('从小到大的顺序为%d %d %d'%(b,a,c))
elif b<c<a:
    print('从小到大的顺序为%d %d %d'%(b,c,a))
elif a<c<b:
    print('从小到大的顺序为%d %d %d'%(a,c,b)) 
elif c<a<b:
    print('从小到大的顺序为%d %d %d'%(c,a,b))
elif c<b<a:
    print('从小到大的顺序为%d %d %d'%(c,b,a))   
   
 
请输入3个整数3,2,1
从小到大的顺序为1 2 3
5
In [22]:

a,b=map(float,input('Enter weight and price for package 1:').split(','))
c,d=map(float,input('Enter weight and price for package 2:').split(','))
f=b/a
e=d/c
if e<f:
    print('package 2 has the better price')
if e==f:
    print('package 2 and package are equle')
if f<e:
    print('package 1 has the better price')
 
Enter weight and price for package 1:50,24.59
Enter weight and price for package 2:25,11.99
package 2 has the better price
6
In [25]:

y = int(input('输入月份:'))
n = int(input('输入年份:'))
if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
    if y == 2:
        print('%d年%s月份有29天'%(n,y))
    elif y in (1, 3, 5, 7, 8, 10, 12):
        print('%d年%s月份有31天'%(n,y))
    else:
        print('%d年%s月份有30天'%(n,y))
else:
    if y == 2:
        print('%d年%s月份有28天'%(n,y))in
    elif y in (1, 3, 5, 7, 8, 10, 12):
        print('%d年%s月份有31天'%(n,y))
    else:
        print('%d年%s月份有30天'%(n,y))
 
输入月份:3
输入年份:2005
2005年3月份有31天
7
In [26]:

import random
A=str(input('请猜测硬币是正面还是反面:'))
B=random.choice(['正,反'])
if A==B:
    print('恭喜你猜对了')
else:
    print('很可惜猜错了')
 
请猜测硬币是正面还是反面:正
很可惜猜错了
8
In [30]:

import numpy as np
x = np.random.choice(['0','1','2'])
n = str(input('Scissor (0), rock (1), paper (2): '))
def jg(x):
    if x == 0:
        str1 == 'scissor'
    elif x == 1:
        str1 == 'rock'
    elif x == 2:
        str1 == 'paper'
str2 = jg(n)
if x == '0':
    if n == '0':
        print('The computer is %s. You are %s too.It is draw.'%(x,n))
    elif n  == '1':
        print('The computer is %s. You are %s.You won.'%(x,n))
    elif n == '2':
        print('The computer is %s. You are %s.It is lose'%(x,n))
if x == '1':
    if n == '0':
        print('The computer is %s. You are %s.It is lose'%(x,n))
    elif n  == '1':
        print('The computer is %s. You are %s too.It is draw.'%(x,n))
    elif n == '2':
        print('The computer is %s. You are %s.,You won.'%(x,n))
if x == '2':
    if n == '0':
        print('The computer is %s. You are %s.,You won.'%(x,n))
    elif n  == '1':
        print('The computer is %s. You are %s.It is lose'%(x,n))
    elif n == '2':
        print('The computer is %s. You are %s too.It is draw.'%(x,n))
 
Scissor (0), rock (1), paper (2): 1
The computer is 1. You are 1 too.It is draw.
9
In [ ]:

def calculateDayofWeek(q,m,k,j):
    h = (q + (26*(m + 1) // 10) + k + (k // 4) + (j // 4) + 5*j) % 7#泽勒一致性
    return h

def info_enter():
    year = eval(input("请输入年份:"))
    j = year // 100#世纪数
    month = eval(input("请输入月份:"))
    if month == 1:
        m = 13
        k = year % 100 - 1#年份
    elif month == 2:
        m = 14
        k = year % 100 - 1#年份
    else:
        m = month
        k = year % 100#年份
    day = eval(input("请输入月份中哪一天:"))
    q = day
    return q, m, k, j,day,month,year
if __name__ == "__main__":
    q,m,k,j,day,month,year = info_enter()
    #求出日期对应着一个星期的哪一天
    h = calculateDayofWeek(q, m, k, j)
    if h == 0:
        week = 'Saturday'
    elif h == 1:
        week = 'Sunday'
    elif h == 2:
        week = 'Monday'
    elif h == 3:
        week = 'Tuesday'
    elif h == 4:
        week = 'Wednesday'
    elif h == 5:
        week = 'Thursday'
    elif h == 6:
        week = 'Friday'
    print(str(year)+'-'+str(month)+'-'+str(day)+" is "+week+' of the week.')
 

10
In [34]:

import random
A=random.choice(['Ace','2','3','4','5','6','7','8','9','10','Jack','Queen,King'])
B=random.choice(['梅花','红桃','方块','黑桃'])
print('The card you picked is the {} of {}'.format(A,B))
 
The card you picked is the 10 of 红桃
11
In [1]:

A=float(input('Enter a three-digit integer:'))
def is_palindrome(num):
    temp = num
    total = 0
    while temp > 0:
        total = total * 10 + temp % 10
        temp //= 10
    return total == num
num = int(input('Enter a three-digit interger : '))
a = is_palindrome(num)
if a == True:
    print('%d is a palindrome' %num)
elif a == False:
    print('%d is not a palindrome' %num)
 
Enter a three-digit integer:123
Enter a three-digit interger : 121
121 is a palindrome
12
In [2]:
 

import math
a,b,c = map(int,input('Enter three edges: ').split(','))
if a + b > c and a + c > b and b + c > a:
    l = a + b + c
    print('The perimeter is %d' % (a + b + c))
else:
    print('Error')
 
Enter three edges: 1,1,1
The perimeter is 3
In [ ]:

 
 

转载于:https://www.cnblogs.com/wangzhehui/p/11285215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值