初學Python可能會遇見的小程式

2021-10-14 12:56:18 字數 2850 閱讀 4768

九九乘法表

簡單選擇排序

回文數問題

猜數小遊戲

問:今有物不知其數,三三數之餘二,五五數之餘三,七七數之餘二,問幾何?

n = 0

while true:

n = n + 1

if n % 3 == 2 and n % 5 == 3 and n % 7 == 2:

print('符合條件的數是%s' % n)

break

這裡介紹一下 while true 的用法:

whiletrue 意思是要一直進行死迴圈,所以通常會在while true迴圈中加入break條件判斷,用來使在迴圈內部的某個條件達成時終止迴圈,通常用於需要多次輸入並判斷的場景,比如輸入密碼的程式。下面是乙個例子:

key = int(input('請輸入:'))

while true:

if key <= 0:

key = int(input('輸入錯誤,請重新輸入:'))

continue

else:

print(key)

break

請x側,第x排,第x列的同學回答問題。

import random

a = random. randint(0, 1)

b = random. randint(1, 10)

c = random. randint(1, 10)

if a == 0:

a = '左'

else:

a = '右'

print('請%s側,第%s排,第%s列的同學來回答問題。'%(a, b, c))

例如153,三位數,33+53+1^3=153,寫乙個程式,輸出所有的水仙花數

這裡介紹兩種方法:

for x in range(100,1000):

a = x // 100

b = x // 10 - a * 10

c = x % 10

if x == a**3 + b**3 + c**3:

print(x)

x = 100

while x < 1000:

a = x // 100

b = x // 10 - a * 10

c = x % 10

if x == a**3 + b**3 + c**3:

print(x)

x += 1 # += 表示增強賦值

按照九九乘法表的格式,寫乙個程式,輸出乙個九九乘法表:

這裡要用到巢狀迴圈

for i in range(1, 10):

for j in range(1, i+1):

x = i * j

print('%s * %s = %s' % (j, i, x), end=' ')

print()

注意,pycharm裡的print() 函式預設換行,設定end=』 'print() 就不會進行換行操作,當這個迴圈完成後設定print() 換行。

a = [23, 45, 13, 9, 52, 18]

for i in range(len(a)):

for j in range(i+1, len(a)):

if a[i] > a[j]:

a[i], a[j] = a[j], a[i] #更換列表元素的位置

print(a)

說明一下,python裡有內建函式sort() ,可直接將序列進行公升降排序,寫這個程式的目的是為了更好地理解巢狀迴圈。

回文數問題我們可以用序列的通有方法或列表的專有方法來解決:

x = input('請輸入乙個數:')

y = x[::-1]

if x == y:

print('%s是回文數' % x)

else:

print('%s不是回文數' % x)

x = input('請輸入乙個數:')

a = list(x)

b = a[:]

a.reverse()

if a == b:

print('%s是回文數' % x)

else:

print('%s不是回文數' % x)

注意,這兩種方法是有很大的區別的,序列的通用方法不改變原有列表,而.reverse() 運算會改變原有列表,故一般推薦使用序列的通用方法。

設計乙個程式,計算機隨機生成乙個數,輸入猜數,若猜對,輸出「good guess!」,若猜錯,計算機會告知猜大了還是猜小了,5次機會之後,遊戲結束(「game over!」)

import random

a = random.randint(1, 10)

n = 1

while n <= 5:

b = int(input())

if b == a:

print('good guess!')

break

elif b > a:

print('your guess > the key, please try again!')

n = n + 1

elif b < a:

print('your guess < the key, please try again!')j

n = n + 1

if n > 5:

print('game over!')

print('the key is', a)

Vue 實際專案中你可能會遇見問題

紙上得來終覺淺,絕知此事要躬行!vue的文件和教程看的太多,小的demo做的多,也不如自己實際的進行乙個完整專案的開發。只有做了才知道原來問題這麼多,這裡列舉了一些你做demo教程可能不會遇見的坑。一 專案的登入攔截及使用者許可權訪問控制問題。乙個很常見的需求就是對未登入的使用者進行路由攔截和使用者...

安裝Qt可能會遇到的問題

問題一 1.剛安裝完成之後,第一次開啟彈出介面 libhelp.so 無法載入庫 解決方法 在終端依次輸入 sudo apt get install libqt4 dev sudo apt get f install sudo apt get install libgstreamer0.10 dev...

CSS面試可能會問到的問題

更多flex布局參考 更多的相容參考鏈結 當乙個元素的visibility屬性被設定成collapse值後,對於一般的元素,它的表現跟hidden是一樣的。自動變成display block,因此,可以直接設定浮動元素的寬高 通過 查詢可以為不同大小和尺寸的 定義不同的css,適應相應的裝置的顯示。...