基础练习-6

简介: 基础练习-6

基础练习-6


1. 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


2. 八进制转换为十进制


程序分析:无。
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('0')
    print( n)
# 以上实例输出结果为:
# input a octal number:
# 122
# 82
#2
def f8to10(num):
    print(("8进制数:", num))
    l = str(num)
    length = len(l)
    sum = 0
    for i in range(length):
        sum += 8 ** i * int(l[length-1-i])
    print(("转成10进制数为:",sum))
f8to10(122)
#3
if __name__ == '__main__':
    n = s =  0
    L = []
    n = input("请输入一个八进制数: \n")
    for i in range(len(n)):
        L.append(n[i])
    L.reverse()
    for i in range(len(n)):
        s = s + int(L[i])*(8**i)
    print( s)
#4
def batoshi(num):
    count=0
    j=len(num)-1
    for each_ch in num:
        count+=pow(8,j)*int(each_ch)
        j-=1
    return count
print(batoshi('122'))
#5
n=input('请输入一个八进制数:')
#使用列表推导式来写
lost=sum([int(n[-i])*8**(i-1) for i in range(1,len(n)+1)])
print( '转换十进制数为:%s'%lost)
#6
n = reversed('122')
s = 0
for idx,i in enumerate(n):
    s += int(i) * pow(8, idx)
print(s)


3. 求0—7所能组成的奇数个数。


程序分析:
组成1位数是4个。
组成2位数是7*4个。
组成3位数是7*8*4个。
组成4位数是7*8*8*4个。
......
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
'''


4. 连接字符串。


程序分析:无。
delimiter = ','
mylist = ['Brazil', 'Russia', 'India', 'China']
print( delimiter.join(mylist))
#以上实例输出结果为:
# Brazil,Russia,India,China


5. 输入一个奇数,然后判断最少几个 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))
#以上实例输出结果为:
'''
输入一个数字:
13
6 个 9 可以被 13 整除 : 999999
999999 / 13 = 76923
'''


6. 两个字符串连接程序。


程序分析:无。
if __name__ == '__main__':
    a = "acegikm"
    b = "bdfhjlnpq"
    # 连接字符串
    c = a + b
    print( c)
# 以上实例输出结果为:
# acegikmbdfhjlnpq


7. 回答结果(结构体变量传递)。


程序分析:无。
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
:无。


8. 读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。


程序分析:无。
if __name__ == '__main__':
    n = 1
    while n <= 7:
        a = int(input('input a number:\n'))
        while a < 1 or a > 50:
            a = int(input('input a number:\n'))
        print( a * '*')
        n += 1
# 以上实例输出结果为:
'''
input a number:
9
*********
input a number:
5
*****
input a number:
6
******
input a number:
'''


9. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上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
9876
'''


10. 列表使用实例。


程序分析:无。
#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
['\xe4\xb8\xad\xe5\x9b\xbd\xe7\xa7\xbb\xe5\x8a\xa8', [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]
'''


11. 时间函数举例1。


程序分析:无。
if __name__ == '__main__':
    import time
    print( time.ctime(time.time()))
    print( time.asctime(time.localtime(time.time())))
    print( time.asctime(time.gmtime(time.time())))
# 以上实例输出结果为:
'''
Wed Oct 21 17:08:51 2015
Wed Oct 21 17:08:51 2015
Wed Oct 21 09:08:51 2015
'''


12. 时间函数举例2。


程序分析:无。
if __name__ == '__main__':
    import time
    start = time.time()
    for i in range(3000):
        print( i)
    end = time.time()
    print( end - start)
# 以上实例输出结果为:
'''
0
1
2
3
4
……
'''


13. 时间函数举例3。


程序分析:无。
if __name__ == '__main__':
    import time
    start = time.clock()
    for i in range(10000):
        print( i)
    end = time.clock()
    print( 'different is %6.3f' % (end - start))
# 以上实例输出结果为:
'''
0
1
2
3
4
……
different is  0.014
'''


14. 时间函数举例4,一个猜数游戏,判断一个人反应快慢。


程序分析:无。
if __name__ == '__main__':
    import time
    import random
    play_it = input('do you want to play it.(\'y\' or \'n\')')
    while play_it == 'y':
        c = input('input a character:\n')
        i = random.randint(0,2**32) % 100
        print( 'please input number you guess:\n')
        start = time.clock()
        a = time.time()
        guess = int(input('input your guess:\n'))
        while guess != i:
            if guess > i:
                print( 'please input a little smaller')
                guess = int(input('input your guess:\n'))
            else:
                print( 'please input a little bigger')
                guess = int(input('input your guess:\n'))
        end = time.clock()
        b = time.time()
        var = (end - start) / 18.2
        print( var)
        # print( 'It took you %6.3 seconds' % time.difftime(b,a)))
        if var < 15:
            print( 'you are very clever!')
        elif var < 25:
            print( 'you are normal!')
        else:
            print( 'you are stupid!')
        print( 'Congradulations')
        print( 'The number you guess is %d' % i)
        play_it = input('do you want to play it.')
# 以上实例输出结果为:
'''
do you want to play it.('y' or 'n')y
input a character:
5
please input number you guess:
input your guess:
60
……
please input a little bigger
input your guess:
29
please input a little smaller
input your guess:
28
3.81868131868e-05
you are very clever!
Congradulations
The number you guess is 28
do you want to play it.
'''


15. 字符串日期转换为易读的日期格式。


程序分析:无。
from dateutil import parser
dt = parser.parse("Aug 28 2015 12:00AM")
print( dt)
#以上实例输出结果为:
# 2020-08-28 00:00:00


16. 计算字符串中子串出现的次数。


程序分析:无。
if __name__ == '__main__':
    str1 = input('请输入一个字符串:\n')
    str2 = input('请输入一个子字符串:\n')
    ncount = str1.count(str2)
    print( ncount)
# 以上实例输出结果为:
'''
请输入一个字符串:
www.baidu.com
请输入一个子字符串:
baidu
1
'''


17. 从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。


程序分析:无。
if __name__ == '__main__':
    from sys import stdout
    filename = input('输入文件名:\n')
    fp = open(filename,"w")
    ch = input('输入字符串:\n')
    while ch != '#':
        fp.write(ch)
        stdout.write(ch)
        ch = input('')
    fp.close()
# 以上实例输出结果为:
'''
输入文件名:
baidufile.txt
输入字符串:
baidu   
baidu
google
google#
实例中创建了 baidufile.txt 文件并向其写入 baidu 和 google 两个字符串,查看 baidufile.txt 文件内容:
$ cat baidufile.txt 
baidugoogle
'''


18. 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。


程序分析:无。
if __name__ == '__main__':
    fp = open('test.txt','w')
    string = input('please input a string:\n')
    string = string.upper()
    fp.write(string)
    fp = open('test.txt','r')
    print( fp.read())
    fp.close()
# 以上实例输出结果为:
'''
please input a string:
baidu.com
BAIDU.COM
'''


19. 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。


程序分析:无。
if __name__ == '__main__':
    import string
    fp = open('test1.txt')
    a = fp.read()
    fp.close()
    fp = open('test2.txt')
    b = fp.read()
    fp.close()
    fp = open('test3.txt','w')
    l = list(a + b)
    l.sort()
    s = ''
    s = s.join(l)
    fp.write(s)
    fp.close()
# 运行以上程序前,你需要在脚本执行的目录下创建 test1.txt、test2.txt 文件。
# 以上程序执行成功后,打开 test3.txt 文件可以看到内容如下所示:
# 123456


20. 列表转换为字典。


程序分析:无。
i = ['a', 'b']
l = [1, 2]
print( dict([i,l]))
# 以上实例输出结果为:
# {'a': 'b', 1: 2}
目录
相关文章
|
11月前
基础练习-5
基础练习-5
45 0
|
3天前
|
程序员 编译器 C++
【C++基础】初识C++
这篇文章是C++入门教程,介绍了第一个C++程序的编写、注释的使用、变量和常量的定义、C++关键字以及标识符命名规则。
17 4
|
4月前
|
关系型数据库 ice RDS
数字电子技术基础 2
数字电子技术基础
32 0
|
4月前
数字电子技术基础4
数字电子技术基础
27 0
|
4月前
|
传感器 编解码 C++
C++视频基础
C++视频基础
|
安全 数据安全/隐私保护
社工基础
这次带来的是 社工的心理学的欺骗思路 社工,全程为社会工程学,起源于凯文·米特尼克的《反欺骗的艺术》,
|
存储 自然语言处理 安全
C++基础
学习C++的基础语法(建立在已有的C语言基础上)
C++基础
|
SQL 网络协议 网络安全
一、基础篇
一、基础篇
259 0
一、基础篇
|
存储 编译器 C++
C/C++ - 基础篇(上)
C/C++ - 基础篇(上)
133 0
|
Web App开发 JavaScript 前端开发