python菜鸟教程

83 求0—7所能组成的奇数个数

0,1,2,3,4,5,6,7

程序分析:

组成1位数是4个。1位数的奇数:1,3,5,7

组成2位数是7*4个。 

组成3位数是7*8*4个。

组成4位数是7*8*8*4个。

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

85

输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。

程序分析:999999 / 13 = 76923。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

if __name__ == '__main__':
    zi = int(input('输入一个奇数:\n'))
    n1 = 1  #循环的初始条件
    c9 = 1  #计算9的个数
    m9 = 9  #9的个位数字
    sum = 9 #由9组成的数字
    while n1 != 0:  #当n1不等于0的时候执行
        if sum % zi == 0:  #奇数能被sum整除
            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))

第一次循环:

M9 = 9*10=90

Sum = 90+9 =99

C9=2

第二次循环:

M9 = 90*10=900

Sum = 900+99 =999

C9=3

第一次循环:

M9 = 9*10=90

Sum = 90+9 =99

C9=2

第二次循环:

M9 = 90*10=900

Sum = 900+99 =999

C9=3

86 字符串连接

a和b分别为两个字符串

方法一:a+b

方法二:a.join(b)

87回答结果(结构体变量传递)

# 结构体变量传递

if __name__ == '__main__': # 程序入口
    class student: # 定义一个student的类
        x = 0 # 将0赋值给x
        c = 0 # 将0赋值给c
    def f(stu): # 定义一个函数f,并对函数f,传递一个stu的参数
        stu.x = 20 # 将20赋值给stu的x变量
        stu.c = 'c' # 将字符串c赋值给stu的c变量
    a = student() # 将student的类方法(函数)赋值给a
    a.x = 3 # 将3赋值给a中的x方法
    print('a.x=',a.x)
    a.c = 'a' # 将a赋值给a中的c方法
    print('a.c=',a.c)
    f(a) # 将a这个变量作为参数,传递给f函数,调用的是f这个函数的方法
    print('a.x=',a.x,'a.c=',a.c) # 打印出变量a的x方法,和c方法

a.x= 3

a.c= a

a.x= 20 a.c= c

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

n = 1  #初始化输入次数为1
while n <= 7: #判断输入数字的次数
    a = int(input("input a number:\n"))
    while a < 1 or a > 50: #判断输入数字的范围是否是1-50
        a = int(input('input a number:\n')) #输入数字整数化
    print(a*'*')
    n += 1 #循环1次后,n+1

input a number:

4

****

input a number:

5

*****

input a number:

3

***

input a number:

2

**

input a number:

6

******

input a number:

4

****

input a number:

3

***

89 电话传输数据

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

# // 整除,返回商的整数部分(向下取整)
# / x除以y
from sys import stdout

if __name__=='__main__':
    a = int(input("输入4个数字:\n"))
    aa = []
    aa.append(a % 10)  # 个位
    aa.append(a // 10 % 10)  # 十位
    aa.append(a // 100 % 10)  # 百位
    aa.append(a // 1000)  # 千位
    aa.reverse()
    #print("输入的数字形成矩阵:",aa)
    for i in range(4):
        aa[i] += 5   #每位数字+5
        #print("每位数字+5后:",aa)
        aa[i] %= 10  #每位数字除以10后取余数
        #print("每位数字除以10取余数后:", aa)
    for i in range(2):  #交换
        aa[i], aa[3 - i] = aa[3 - i], aa[i]
        print("交换后",aa)
    for i in range(0,4):
        stdout.write(str(aa[i]))

输入4个数字:

1234

交换后 [9, 7, 8, 6]

交换后 [9, 8, 7, 6]

9876

90 列表使用实例

a = [1,2,3,4]
print(len(a)) #计算列表长度
print(a[1:]) #打印列表第1个元素之后的所有元素
a.append('i\'m new here!')  #向列表添加元素
print(a[-1]) #打印列表最后一个元素
print(a.pop(1)) #删除列表第i+1位元素
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(matrix)
print(matrix[0])
col2 = [row[1] for row in matrix]#得到矩阵的 一列,每行row的第2个就是第2列
print(col2)
col2even = [row[1] for row in matrix if  row[1] % 2 == 0]#过滤掉奇数
print(col2even)

4

[2, 3, 4]

i'm new here!

2

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

[1, 2, 3]

[2, 5, 8]

[2, 8]

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值