Python基础总结(三)(选择、循环)

To the world you may be one person, but to one person you may be the world.


可以使用int将布尔值转换为整数

int(true) = 1

int(false) = 0

可以使用bool函数将数字值转换成布尔值

bool(0) = false

bool(4) = true

随机数

函数randint(a, b) 可以用来产生一个a和b之间且包含a和b的随机整数,此函数在random模块中。

函数randrange(a, b)产生一个在a、b-1之间的随机数,等同于randint(a, b - 1)

函数random()  产生一个0<=r<=1.0的随机浮点数r(不包括1.0)

给出一个好玩的例子;计算生日日期(数学原理这里就不讲了,想知道的给我留言:))


#计算生日日期

day =0

question1 ="你的生日日期在这里面么?\n"+ \

"1 3 5 7\n"+ \

"9 11 13 15\n"+ \

"17 19 21 23\n"+ \

"25 27 29 31\n"+ \

"请输入0代表没有,输入1代表有"

answer =eval(input(question1))

ifanswer ==1:

day +=1

question2 ="你的生日日期在这里面么?\n"+ \

"2 3 6 7\n"+ \

"10 11 14 15\n"+ \

"18 19 22 23\n"+ \

"26 27 30 31\n"+ \

"请输入0代表没有,输入1代表有"

answer =eval(input(question2))

ifanswer ==1:

day +=2

question3 ="你的生日日期在这里面么?\n"+ \

"4 5 6 7\n"+ \

"12 13 14 15\n"+ \

"20 21 22 23\n"+ \

"28 29 30 31\n"+ \

"请输入0代表没有,输入1代表有"

answer =eval(input(question3))

ifanswer ==1:

day +=4

question4 ="你的生日日期在这里面么?\n"+ \

"8 9 10 11\n"+ \

"12 13 14 15\n"+ \

"24 25 26 27\n"+ \

"28 29 30 31\n"+ \

"请输入0代表没有,输入1代表有"

answer =eval(input(question4))

ifanswer ==1:

day +=8

question5 ="你的生日日期在这里面么?\n"+ \

"16 17 18 19\n"+ \

"20 21 22 23\n"+ \

"24 25 26 27\n"+ \

"28 29 30 31\n"+ \

"请输入0代表没有,输入1代表有"

answer =eval(input(question5))

ifanswer ==1:

day +=16

print("\n你的生日日期是:"+str(day) +"!")


运算符的优先级(从高到低)

+,- (一元加减运算符)

** (指数运算符)

not

*、/、 //、% (乘、除、整除、余数)

+、- (二元加减)

<、<= 、>、>= (比较)

==、!=(相等运算符)

and

or

=、+=、-=、*=、/=、//=、%=(赋值运算符)

⚠️注意在循环中不要使用浮点数值来比较相等作为控制条件,因为浮点数运算是近似的。如下例子:

#这个程序看着挺正常的,但是其实会一直运行在循环中,因为while item !=0这个判断条件是不成立的

item=1

sum =0

while item !=0:

        item -=0.1

        sum+= item

print(sum)

那么遇到这种情况的话,可以考虑是用for循环或者使用一个整数计数来充当哨兵值解决这个问题。

输入输出重定向


推荐学习博客:

http://www.cnblogs.com/turtle-fly/p/3280519.html


将输出重定向到out.log文件,同时也在控制台(屏幕)打印

import sys

class__redirection__:

def__init__(self):

self.buff =''

self.__console__ = sys.stdout

defwrite(self, output_stream):

self.buff += output_stream

defto_console(self):

sys.stdout =self.__console__

print(self.buff)

defto_file(self, file_path):

f =open(file_path,'w')

sys.stdout = f

print(self.buff)

f.close()

defflush(self):

self.buff =''

defreset(self):

sys.stdout =self.__console__

if__name__ =="__main__":

# redirection

r_obj = __redirection__()

sys.stdout = r_obj

# get output stream

print('hello')

print('there')

# redirect to console

r_obj.to_console()

# redirect to file

r_obj.to_file('out.log')

# flush buffer

r_obj.flush()

# reset

r_obj.reset()

for循环

for v in range(4,8):

print(v)

结果是:4,5,6,7

其中,range函数有多种形式,如:range(a)  与range(0, a)功能一样,range(a, b, k)中k代表步长,k也可以是负数。但是range中的数必须为整数。

求最大公约数

#欧几里得算法求最大公约数

#递归

def Gcd(a, b):

if b ==0:

returna

return Gcd(b, a % b)

print(Gcd(2,4))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 灯火阑珊菊花黄, 天高云淡秋水长; 窗含盈霜笛声远, 风轻摇枝桂影香。
    金永辉煌阅读 863评论 4 8
  • 这些天几乎每晚都1点多才睡早上又6点多起床,其实不用弄那么晚的就是自己控制不好多看一会手机这一恶习。看手机又不是和...
    承思而行阅读 174评论 0 0
  • 概述 随机算法是当前工业界和学术界都比较热的一个话题,从机器学习、数据挖掘到现在热得发烫的深度学习,无一没有随机算...
    CodingTech阅读 1,062评论 0 3
  • 【月末浅留】 属于四月的人间天 仿如流水般 悄然离去 五月的钟声开始啟动 燕儿的翅膀 在晨间展动起来 窗外那些落叶...
    天佑居士阅读 141评论 0 0