python
第一章 python練習
求和,計算1-99的和,并輸出,
代碼片,
#計算一到99的和,并輸出
sum=0
i=1
while i<100:
sum+=i
i+=1
print(sum)
乘法口訣,輸入1-9的乘法口訣,print輸在在同一行用end=’’.
代碼片,
#乘法口訣
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+'='+str(i*j), end=" ")
print('\r')
結果,

用Turtle畫一個正方形,并輸出,
代碼片,
import turtle as tt
tt.color('green')
tt.forward(400)#向前400
tt.left(90)#垂直旋轉90°
tt.forward(400)#向上前進400
tt.left(90)#再次旋轉90°
tt.forward(400)#箭頭指向后面,在前進400
tt.left(90)#旋轉90°
tt.forward(400)#箭頭指向下,前進400
print(tt)
#讓其停下來
input()
結果,

斐波那契數列,并輸出小于10000的最后一個數,
代碼片,
#斐波那契數列
a,b=0,1
while a<10000:
print(a)
a,b=b,a+b
結果,

多分支結構,BMI的定義如下:
BMI = 體重(kg)÷身高2(m2)
例如,一個人身高1.75米、體重75公斤,他的BMI值為24.49
撰寫一個根據體重和身高計算BMI值的程式,并同時輸出國際和國內的BMI指標建議值

代碼片,
weight = eval(input('請輸入體重(kg):'))
height = eval(input('請輸入身高(m2):'))
e, n = '', ''
result = weight / height ** 2
if result < 18.5:
e, n = '偏瘦', '偏瘦'
elif 18.5 <= result < 24:
e, n = '正常', '正常'
elif 24 <= result < 25:
e, n = '正常', '偏胖'
elif 25 <= result < 28:
e, n = '偏胖', '偏胖'
elif 28 <= result < 30:
e, n = '偏胖', '肥胖'
else:
e, n = '肥胖', '肥胖'
print('國際BMI是:' + e + ',國內BMI是:' + n)
結果,

多分支結構,? 輸入某月某日,判斷這一天是一年的第幾天?
利用Python語言,采用字典的方式對應月份和天數,采用選擇結構和回圈結構解決如下問題:輸入某月某日,判斷這一天是一年的第幾天?輸出“這是年度第XX天”,如若日期輸入錯誤,則輸出“error”,具體要求如下:
(1)創建python.py新檔案并保存;
(2)采用字典的方式對應月份和天數;
(3)依次彈出對話“請輸入月份:”和“請輸入日期:”
(4)采用條件判斷結構區分所輸入日期是否正確,如果錯誤,輸出“error”;
(5)如若輸入日期正確,采用回圈結構計算天數,輸出“這是年度第XX天”;
方法一代碼片,
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
month = input('請輸入月份:')
day = input('請輸入日期:')
if day.isnumeric() and 0<(int)(day)<31:
result = sum(_monthdic[:(int)(month)-1])+(int)(day)
print('這是年度第{}天'.format(result))
else:
print('error')
結果,

方法二代碼片,
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
_daydic = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31]
month = eval(input('請輸入月份:'))
day = eval(input('請輸入日期:'))
if 0 < day < 31:
for i in _daydic:
if i == day:
result = sum(_monthdic[:month - 1]) + (int)(i)
print('這是年度第{}天'.format(result))
else:
print('error')
結果,

方法二擴展代碼,如果閏年是少一天,
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
_daydic = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31]
result = 0
year = eval(input('請輸入年份:'))
month = eval(input('請輸入月份:'))
day = eval(input('請輸入日期:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
result -= 1
if 0 < day < 31:
for i in _daydic:
if i == day:
result += sum(_monthdic[:month - 1]) + (int)(i)
print('這是年度第{}天'.format(result))
else:
print('error')
結果,

多分支結構,一個數如果恰好等于它的因子之和,這個數就稱為"完數",例如6=1+2+3.編程找出1000以內的所有完數,
方法一代碼片,
def number(num):
#左閉右開,所以需要加1
for i in range(2,num+1):
#定義一個陣列存取因子
arr=[]
#循環取出數前面所有,找因子
for j in range(1,i):
#因子計算
if i%j==0:
#加入到陣列里面
arr.append(j)
j += 1
#因子和數相等
if i==sum(arr[:len(arr)]):
print("完數"+str(i)+"的因子是",end='')
print(arr)
arr.clear()
else:
arr.clear()
number(eval(input('您想計算多少以內的完數,請輸入?'))
結果,

如有錯誤請聯系更改:微信 sy157715743
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/58034.html
標籤:其他
