collatz number,迴文數,love,map函式,漢若塔,佛祖鎮樓,read a word by random in 5s,the star of sand glass
阿新 • • 發佈:2018-11-12
1 collatz number
def collatz(num): '''collatz number ''' if num % 2 == 0: n = num / 2 return n elif num % 2 == 1: n = 3 * num + 1 return n # print(collatz(100)) # print(collatz(50)) # print(collatz(25)) num = int(input('請輸入一個整數:')) while True: if num == 1: print(1) break else: num = collatz(num) print(num)
2 is_palindrome迴文數
def is_palindrome(n):
n = str(n)
m = n[::-1]
return n == m # 迴文格式
output = filter(is_palindrome, range(1, 1000)) # 回數
print(list(output))
3 love
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))
4 map函式
def f(x):
return x*x
w = map(f,[i for i in range(10)])
print(list(w))
5 漢若塔
''' 請編寫 move(n, a, b, c)函式,它接收引數 n,表示 3 個柱子 A、 B、 C 中第 1 個柱子 A 的盤子數量,然後打印出把所有盤子從 A 藉助 B 移動 到 C 的方法,例如: def move(n, a, b, c): ---- pass ---- # 期待輸出: # A --> C # A --> B # C --> B # A --> C # B --> A # B --> C # A --> C move(3, 'A', 'B', 'C') ''' def move(n, a, b, c): # 漢諾塔的移動 if n == 1: print('move:', a, '--->', c) # 1個直接從a移到c else: move(n-1, a, c, b) # 分成2份,上面一份先從a移到b move(1, a, b, c) # 剩下1個從a移到c move(n-1, b, a, c) # 上面一份從b移到c move(5, 'A', 'B', 'C') def f(x): while x == 1: return 1 # 一個時,返回一次 return 2 * f(x-1) + 1 # 這是推導公式 print('一共移動了%s次' % f(5))
6 佛祖鎮樓
print(" _ooOoo_ ")
print(" o8888888o ")
print(" 88 . 88 ")
print(" (| -_- |) ")
print(" O\\ = /O ")
print(" ____/`---'\\____ ")
print(" . ' \\| |// `. ")
print(" / \\||| : |||// \\ ")
print(" / _||||| -:- |||||- \\ ")
print(" | | \\\\\\ - /// | | ")
print(" | \\_| ''\\---/'' | | ")
print(" \\ .-\\__ `-` ___/-. / ")
print(" ___`. .' /--.--\\ `. . __ ")
print(" ."" '< `.___\\_<|>_/___.' >'"". ")
print(" | | : `- \\`.;`\\ _ /`;.`/ - ` : | | ")
print(" \\ \\ `-. \\_ __\\ /__ _/ .-` / / ")
print(" ======`-.____`-.___\\_____/___.-`____.-'====== ")
print(" `=---=' ")
print(" ")
print(" ............................................. ")
print(" 佛祖鎮樓 BUG辟易 ")
print(" 佛曰: ")
print(" 寫字樓裡寫字間,寫字間里程序員; ")
print(" 程式人員寫程式,又拿程式換酒錢。 ")
print(" 酒醒只在網上坐,酒醉還來網下眠; ")
print(" 酒醉酒醒日復日,網上網下年復年。 ")
print(" 但願老死電腦間,不願鞠躬老闆前; ")
print(" 賓士寶馬貴者趣,公交自行程式設計師。 ")
print(" 別人笑我忒瘋癲,我笑自己命太賤; ")
print(" 不見滿街漂亮妹,哪個歸得程式設計師?")
7 read a word by random in 5s
import random
import time
f = open('1500.txt', 'r')
list1 = f.readlines()
# print(list1)
lines = len(list1)
# print(lines)
while True:
print(list1[random.randint(0, 1697)])
time.sleep(5)
8 the star of sand glass
'''
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印
*****
***
*
***
*****
所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉儘可能多的符號。
輸入格式:
輸入在一行給出1個正整數N(<=1000)和一個符號,中間以空格分隔。
輸出格式:
首先打印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。
輸入樣例:
19 *
輸出樣例:
*****
***
*
***
*****
2
t = input('請輸入:')
n = int(t.split()[0])
m = t.split()[1]
print(n)
print(m)
'''