日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

初学Python可能会遇见的小程序

發布時間:2024/3/7 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学Python可能会遇见的小程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

  • 前言
  • 《孫子算經》中的典例
  • 取隨機數問題
  • “水仙花數”問題
    • for循環
    • while循環
  • 九九乘法表
  • 簡單選擇排序
  • 回文數問題
    • 序列的分片
    • .reverse() 運算
  • 猜數小游戲

前言

本文總結了在大一上這一學期內我覺得比較經典的一些Python小程序,其中有一部分是我的授課老師在課上布置的任務,但代碼都是我自己敲的。期待大家在評論區留下寶貴的意見~

《孫子算經》中的典例

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

n = 0 while True:n = n + 1if 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('輸入錯誤,請重新輸入:'))continueelse: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循環

for x in range(100,1000):a = x // 100b = x // 10 - a * 10c = x % 10if x == a**3 + b**3 + c**3:print(x)

while循環

x = 100 while x < 1000:a = x // 100b = x // 10 - a * 10c = x % 10if 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 * jprint('%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)

.reverse() 運算

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!')breakelif b > a:print('your guess > the key, please try again!')n = n + 1elif b < a:print('your guess < the key, please try again!')jn = n + 1 if n > 5:print('game over!')print('the key is', a)

總結

以上是生活随笔為你收集整理的初学Python可能会遇见的小程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。