2018-12-10丛晓强作业

5. 尝试实现一个管理系统

=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出

print("欢迎使用通讯录管理系统")
print("1表示增加姓名和手机")
print("2表示删除姓名")
print("3表示修改手机")
print("4表示查询所有用户")
print("5表示根据姓名查找手机号")
print("6表示退出")
w = {}
s = int(input("请输入1,2,3,4:"))
if s == 1:
    n  = input("请输入姓名:")
    w[n] = input("请输入手机号:")
elif s == 2:
    w.pop(input("请输入姓名:"))
elif s== 3:
    n =input("请输入所需修改手机的用户姓名:")
    w[n] = input("请输入手机号:")
elif s==4:
    print(w)
elif s==5:
    n = input("请输入用户姓名:")
    print(n)
elif s == 6:
    print("退出")

 

5. 随机产生密码:

在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码

import random
w = []
for a in range(65,91):
    i = chr(a)
    w.append(i)
for b in range (97,123):
    s = chr(b)
    w.append(s)
for c in range (0,10):
    w.append(c)
for d in range(0,8):
    z = random.choice(w)
    print(z , end="")

 

1.通过代码实现如下转换:

# 二进制转换成十进制:v = “0b1111011”
v = "0b1111011"
a = int(v,2)
print(a)
# 十进制转换成二进制:v = 18
v = 18
b = bin(v)
print(b)

# 八进制转换成十进制:v = “011”
v = "011"
c = int(v,8)
print(c)

# 十进制转换成八进制:v = 30
v = 30
d = oct(v)
print(d)

#  十六进制转换成十进制:v = “0x12”
v = "0x12"
e = int(v ,16)
print(e)

# 十进制转换成十六进制:v = 87
v = 87
f = hex(v)
print(f)
# 二进制转换成十进制:v = “0b1111011”
v = "0b1111011"
a = int(v,2)
print(a)
# 十进制转换成二进制:v = 18
v = 18
b = bin(v)
print(b)

# 八进制转换成十进制:v = “011”
v = "011"
c = int(v,8)
print(c)

# 十进制转换成八进制:v = 30
v = 30
d = oct(v)
print(d)

#  十六进制转换成十进制:v = “0x12”
v = "0x12"
e = int(v ,16)
print(e)

# 十进制转换成十六进制:v = 87
v = 87
f = hex(v)
print(f)

3.求结果

v1 = 1 or 3

v1= 1

v2 = 1 and 3

v2 = 3

v3 = 0 and 2 and 1

v3= 0

v4 = 0 and 2 or 1

v4= 1

v5 = 0 and 2 or 1 or 4

v 5= 1

v6 = 0 or Flase and 1

出错


7.求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )

 a= [0,1,0,1,0,1,0,1,0,1]

b= (0,1,0,1,0,1,0,1,0,1)

8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2

a = 1

b = 2

c = True

d = False

1.请写出与 10 < cost < 50 等价的表达式

11<=cost<=49

2.Python3 中,一行可以书写多个语句吗?
Python3 中,一个语句可以分成多行书写吗?

一个语句可以多行写,一行不能写多个语句

3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?

加0.5例如

a = 14.555
b = 14.433
print(int(a + 0.5))
print(int(b + 0.5))

4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or7 and 8 and 9

4

5.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

n = 0
while True:
    n +=1
    if n % 2==1 and n % 3==2 and n %5 == 4 and n % 6 == 5 and n % 7 == 0:
        print(n)
        break

6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?

a = 0
b = 0
x = 1
y = 2
z = 3
a = z
b = y
z = x
y = a
x = b
print(x,y,z)

 7.目测以下程序会打印什么?

   while True:

        while True:

            break

            print(1)

        print(2)

        break

   else:

        print(3)

打印   3

8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?

不一样   member.append(['竹林小溪', 'Crazy迷恋'])往列表中添加一个列表

member.extend(['竹林小溪', 'Crazy迷恋'])  往列表里添加“竹林小溪”和“Crazy迷恋”两个元素

9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?

  list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]

 

list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1[1][2]=["小坏蛋"]

 

10.要对一个列表进行顺序排序,请问使用什么方法?

list.sort()
11.要对一个列表进行逆序排序,请问使用什么方法?

 list.sort(reverse= True)

12.什么情况下你需要使用元组而不是列表?
  当元组和列表掉下水,你会救谁?

 元素不让修改时使用元组,

救列表

13.x, y, z = 1, 2, 3 请问x, y, z是元组吗

不是元组,

14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF):

 

print("1表示十进制转换二进制")
print("2表示十进制转换八进制")
print("3表示十进制转换十六进制")
print("4表示二进制转换十进制")
print("5表示二进制转换八进制")
print("6表示二进制转换十六进制")
print("7表示八进制转换二进制")
print("8表示八进制转换十进制")
print("9表示八进制转换十六进制")
print("10表示十六进制转换二进制")
print("11表示十六进制转换十进制")
print("12表示十六进制转换八进制")
w = {}
s = int(input("请输入1,2,3,4,5,6,7,8,,9,10,11,12:"))
if s == 1:
v = int(input("请输入一个十进制:"))
a = bin(v)
print(a)
elif s == 2:
v = int(input("请输入一个十进制:"))
a = oct(v)
print(a)
elif s== 3:
v =int(input("请输入一个十进制:"))
a = hex(v)
print(a)
elif s==4:
v = input("请输入一个二进制:")
a = int (v ,2)
print(a)
elif s==5:
v = input("请输入一个二进制:")
a = int(v, 2)
a= oct(a)
print(a)
elif s == 6:
v = input("请输入一个二进制:")
a = int(v,2)
a = hex(a)
print(a)
elif s == 7:
v = input("请输入一个八进制:")
a = int (v ,8)
a = bin(a)
print(a )
elif s == 8:
v = input("请输入一个八进制:")
a = int (v,8)
print(a)
elif s == 9:
v = input("请输入一个八进制:")
a = int (v, 8)
a = hex(a)
print(a)
elif s == 10:
v = input("请输入一个十六进制:")
a = int(v ,16)
a = bin(a )
print(a)
elif s == 11:
v = input("请输入一个十六进制:")
a = int(v ,16)
print(a )
elif s == 12:
v = input("请输入一个十六进制:")
a = int(v,16)
a = oct(a)
print(a)

 

15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性

统称为序列

都可以通过索引得到元素,索引都是在零开始

都可以通过切片得到元素

有着一定的操作符

18.猜字游戏,随机产生10以内的整型数,可供用户猜,如果猜对,打印“厉害了!500万属于你”,如果猜错,如果比随机数大,提示,“大了,再给你一次机会”,如果比随机数小,提示“大胆一点”。用户最多有三次机会

import random
n = int(input("请猜数:"))
for a in range(3):
    s = random.randint(0,10)
    if n == s :
        print("厉害了!500万属于你")
        break
    elif n > s:
        print("大了,再给你一次机会")
        break
    elif n < s :
        print("大胆一点")
        break

 

19.盒子里有3个红球,3个蓝色球,4个黄球,现刘柱要从盒子里拿出8个球,问有多少种情况

s = 0
for i in range(1,4):
    for a in range(1,4):
        for b in range(1,5):
            if i + a + b == 8:
                s += 1
                print("红球 %d 个,篮球 %d 个,黄球 %d 个" %(i,a,b))
            else:
                continue
print("一共有 % d种方法" % s)

 

20.打印9 9乘法表

i = 1
while i <= 9:
    s = 1
    while s <= i:
        print( "%d " % s , "*" "%d =" % i , i*s ,end=" \t" )
        s +=1
    print("")
    i +=1

 

21.猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个。在第10天,只剩下1个桃子。输出这堆桃最初有多少个。

i = 1
a = 1
for i in range(1,10):
    a = (a+1)*2
print(a)

 

posted @ 2018-12-10 15:06  优美少爷  阅读(233)  评论(0编辑  收藏  举报