1. 程式人生 > >Python3從零學習(三)

Python3從零學習(三)

#條件控制


#if語句

t = 'true'
f = 'false'
var = 100

if var:
    print(t)
    print(var)

age = int(input("請輸出數字"))
if age < 0:
    print('<0')
elif age == 0:
    print('0')
else:
    print('>0')

input('enter exit')


# 操作符	描述
# <	    小於
# <=	小於或等於
# >	    大於
# >=	大於或等於
# ==	等於,比較物件是否相等
# !=	不等於


#猜字遊戲
number = 0
guess = -1

print("猜數字遊戲")

while guess != number:
    guess = int(input("請輸入你猜的數字:"))

    if guess == number:
        print("Right")
        break
    elif guess < number:
        print("<")
    else:
        print(">")


#數字能否被整除

def numberZC():
    num = int(input("輸入一個數字:"))

    if num %2 == 0:
        if num %3 ==0:
            print("2,3")
        else:
            print(2)
    else:
        if num %3 == 0:
            print(3)
        else:
            print(0)

numberZC()

#迴圈
n = 100

sum = 0
counter = 1

while counter <= n:
    sum = sum +counter
    counter += 1
else:
    print(111111111111111111111111111111111)

print(sum)
print('------------------------------------')

list = ["aaa","ssss","dddd","ffff"]

for item in list:
    print(item)

#range函式

for i in range(5):
    print(i)

for i in range(1,10):
    print(i)

for i in range(1,10,3):
    print(i)

#break continue
#break 語句可以跳出 for 和 while 的迴圈體。如果你從 for 或 while 迴圈中終止,任何對應的迴圈 else 塊將不執行
#pass Python pass是空語句,是為了保持程式結構的完整性。
# pass 不做任何事情,一般用做佔位語句

#迭代器與生成器
# 迭代是Python最強大的功能之一,是訪問集合元素的一種方式。。
# 迭代器是一個可以記住遍歷的位置的物件。
# 迭代器物件從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。
# 迭代器有兩個基本的方法:iter() 和 next()。
print('------------------------------------')
list = [1,2,3,4]
it = iter(list)
print(next(it))


it = iter(list)
for x in it:
    print(x,end=",")


# 在 Python 中,使用了 yield 的函式被稱為生成器(generator)。
# 跟普通函式不同的是,生成器是一個返回迭代器的函式,只能用於迭代操作,更簡單點理解生成器就是一個迭代器。
# 在呼叫生成器執行的過程中,每次遇到 yield 時函式會暫停並儲存當前所有的執行資訊,返回yield的值。並在下一次執行 next()方法時從當前位置繼續執行。
import  sys

def fibonacci(n):
    a, b, counter = 0, 1, 0
    while True:
        if counter > n:
            return
        yield a
        a, b = b, a + b
        counter += 1

f = fibonacci(10) #f是一個迭代器,由生成器返回生成

while True:
    try:
        print(next(f),end=" ")
    except StopIteration:
        sys.exit()