練習81:
題目:
809??=800??+9?? 其中??代表的兩位數, 809??為四位數,8??的結果為兩位數,9??的結果為3位數,求??代表的兩位數,及809*??后的結果,
程式:
a = 809
for i in range(10, 100):
b = i * a
if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:
print(b, ' = 800 * ', i, ' + 9 * ', i)
輸出結果:
9708 = 800 * 12 + 9 * 12
練習82:
題目:
八進制轉換為十進制
程式:
if __name__ == '__main__':
n = 0
p = input('input a octal number:\n')
for i in range(len(p)):
n = n * 8 + ord(p[i]) - ord(')
print(n)
輸出結果:
input a octal number:
12
10
練習83:
題目:
求0—7所能組成的奇數個數,
分析:
組成1位數是4個,
組成2位數是74個,
組成3位數是784個,
組成4位數是7884個,
......
程式:
if __name__ == '__main__':
sum = 4
s = 4
for j in range(2, 9):
print(sum)
if j <= 2:
s *= 7
else:
s *= 8
sum += s
print('sum = %d' % sum)
輸出結果:
4
32
256
2048
16384
131072
1048576
sum = 8388608
練習84:
題目:
輸入一個奇數,然后判斷最少幾個 9 除于該數的結果為整數,
分析:999999 / 13 = 76923,
程式:
if __name__ == '__main__':
zi = int(input('輸入一個數字:\n'))
n1 = 1
c9 = 1
m9 = 9
sum = 9
while n1 != 0:
if sum % zi == 0:
n1 = 0
else:
m9 *= 10
sum += m9
c9 += 1
print ('%d 個 9 可以被 %d 整除 : %d' % (c9,zi,sum))
r = sum / zi
print ('%d / %d = %d' % (sum,zi,r))
輸出結果:
輸入一個數字:
7
6 個 9 可以被 7 整除 : 999999
999999 / 7 = 142857
練習85:
題目:
連接字串,
程式:
delimiter = ','
mylist = ['Brazil', 'Russia', 'India', 'China']
print(delimiter.join(mylist))
輸出結果:
Brazil,Russia,India,China
練習86:
題目:
兩個字串連接程式,
程式:
if __name__ == '__main__':
a = "acegikm"
b = "bdfhjlnpq"
# 連接字串
c = a + b
print(c)
輸出結果:
acegikmbdfhjlnpq
練習87:
題目:
回答結果(結構體變數傳遞),
程式:
if __name__ == '__main__':
class student:
x = 0
c = 0
def f(stu):
stu.x = 20
stu.c = 'c'
a= student()
a.x = 3
a.c = 'a'
f(a)
print (a.x,a.c)
輸出結果:
20 c
練習88:
題目:
讀取7個數(1—50)的整數值,每讀取一個值,程式列印出該值個數的*,
程式:
if __name__ == '__main__':
n = 1
while n <= 7:
a = int(input('input a number:'))
while a < 1 or a > 50:
a = int(input('input a number:'))
print(a * '*')
n += 1
輸出結果:
input a number:2
**
input a number:3
***
input a number:5
*****
input a number:6
******
input a number:4
****
input a number:8
********
input a number:7
*******
練習89:
題目:
某個公司采用公用電話傳遞資料,資料是四位的整數,在傳遞程序中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代
替該數字,再將第一位和第四位交換,第二位和第三位交換,
程式:
from sys import stdout
if __name__ == '__main__':
a = int(input('輸入四個數字:\n'))
aa = []
aa.append(a % 10)
aa.append(a % 100 / 10)
aa.append(a % 1000 / 100)
aa.append(a / 1000)
for i in range(4):
aa[i] += 5
aa[i] %= 10
for i in range(2):
aa[i], aa[3 - i] = aa[3 - i], aa[i]
for i in range(3, -1, -1):
stdout.write(str(aa[i]))
輸出結果:
輸入四個數字:
1234
98.47.346.234
練習90:
題目:
串列使用實體,
程式:
# list
# 新建串列
testList = [10086, '中國移動', [1, 2, 4, 5]]
# 訪問串列長度
print(len(testList))
# 到串列結尾
print(testList[1:])
# 向串列添加元素
testList.append('i\'m new here!')
print(len(testList))
print(testList[-1])
# 彈出串列的最后一個元素
print(testList.pop(1))
print(len(testList))
print(testList)
# list comprehension
# 后面有介紹,暫時掠過
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(matrix)
print(matrix[1])
col2 = [row[1] for row in matrix] # get a column from a matrix
print(col2)
col2even = [row[1] for row in matrix if row[1] % 2 == 0] # filter odd item
print(col2even)
輸出結果:
3
['中國移動', [1, 2, 4, 5]]
4
i'm new here!
中國移動
3
[10086, [1, 2, 4, 5], "i'm new here!"]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[4, 5, 6]
[2, 5, 8]
[2, 8]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/266909.html
標籤:Python
