美文网首页
python 日常练习

python 日常练习

作者: Sakura_flower | 来源:发表于2018-10-20 10:13 被阅读0次

一、day4作业

1.将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单

# 如“Hello Eric, would you like to learn some Python today?”。
user_name = '小花'
print('Hello %s, would you like to learn some Python today?' % (user_name))
print('Hello '+user_name+', would you like to learn some Python today?')  

2.调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。

user_name = 'AlICx BoBo'
print(user_name.lower())
print(user_name.upper())
print(user_name.title())   # 每个单词首字母都大写
print(user_name.capitalize())   # 只有第一个字母大写 

剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。

name = '\t \n \tYu Ting\n\t'
print('=====',name,'=====', sep='')

# lstrip() -> 去掉字符串开头的空白字符(包括\n,\t,空格)
print('=====',name.lstrip(),'=====', sep='')

# rstrip() -> 去掉字符串后面的空白字符(包括\n,\t,空格)
print('=====',name.rstrip(),'=====', sep='')

# strip() -> 同时去掉字符串开头和结束的空白字符
print('=====',name.strip(),'=====', sep='')
补充:

2.lstrip(字符集)
lstrip(字符集) -> 去掉字符串开头的中所有字符集中的字符
print('768212YuTing'.lstrip('9102345678'))
print('+-237'.lstrip('+-'))

一、print函数
a.一个print函数,可以同时打印多个内容,打印的时候默认情况下,多个数据之间用空格隔开,
但是可以通过sep去设置,多个内容之间隔开的方式
print('abc', 123,True, sep='===')

b.默认情况下,print在打印完内容后,会自动打印一个换行。
可以通过end去设置,打印结束后打印的内容
print('aaaaa', end = '\t')
print('bbbbb')

二、day5作业

1.读程序

numbers=1
for i in range(0,20):
     numbers*=2
print(numbers)

numbers = 1

i = 0 ~ 19, 循环20次
i = 0 numers = 12 = 2 1次 21
i = 1 numbers = 2
2 2次 22
i = 2 numbers = 2
2
2 3次 2**3
...

numbers = 2**20
功能:求2的20次方

summation=0
num=1
while num<=100:
    if (num%3==0 or num%7==0) and num%21!=0:
         summation += 1
    num+=1
print(summation)

"""
summation=0
num = 1

num = 1 ~ 100    
求在1~100中能被3整数或者能够被7整除,但是不同同时被3和7整除的数的个数
"""

2.求1到100之间所有数的和、平均值

sum1 = 0
for x in range(1,101):
    sum1 += x

print('和是:%d 平均值:%.1f' % (sum1, sum1/100))


sum1 = 0
num = 1
while num <= 100:
    sum1 += num
    num += 1
print('和是:%s 平均值:%.1f' % (sum1, sum1/100))

3.计算1-100之间能3整除的数的和

sum1 = 0
for x in range(1,101):
    if x % 3 == 0:
        sum1 += x
print(sum1)


sum1 = 0
for x in range(1,101):
    if x % 3 != 0:
        continue
    sum1 += x
print(sum1)

4.求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34...

n = 1  
n_1 = 1    # 前一个
n_2 = 1    # 前两个
current = 1   # 当前值


for x in range(3,n+1):
    # 算出后一位
    current = n_1 + n_2

    # 往后移
    n_2 = n_1
    n_1 = current


print(current)  

5.判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅法:⽤⼀个数分别除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数 (什么是素数/质数: 除了1和它本身以外,不能被其他的数整除)

# x取 101 ~ 200
for x in range(101,201):
    count = 0
    # y取 2 ~ x-1
    for y in range(2, int(x**0.5)+1):
        if x % y == 0:
            count += 1
            # print('%d不是素数' % (x))
            break
    if count == 0:
        print('%d是素数' % (x))



for x in range(101,201):
    for y in range(2,x):
        if x % y == 0:
            break
    else:
        print('%d是素数' % (x))
x = 1~9
x = 1 
    y = 11~19
    y = 11
    y = 12
    ...
    y = 19
x = 2
    y = 11 ~ 19

...

x=1
y=11
y=12

for x in range(1,10):
    print('x=',x)

    for y in range(11,20):
        print('y=',y)

6.打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数本身。例如:153是⼀个⽔仙花数,因为153 = 1^3 + 5^3 + 3^3

# 取出所有的三位数
for x in range(100,1000):
    ge_wei = x%10
    shi_wei = x//10%10
    bai_wei = x//100
    if x == ge_wei**3 + shi_wei**3 + bai_wei**3:
        print('%d是水仙花数' % x)

7.有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数分⼦:上⼀个分数的分⼦加分⺟ 分⺟: 上⼀个分数的分⼦ fz = 2 fm = 1
fz+fm / fz

1   2/1
2   3/2
3   5/3
4   8/5

分子:上⼀个分数的分⼦加分⺟
分母:上⼀个分数的分⼦

fz = 2
fm = 1

fz = 2
fm = 1
for _ in range(19):
    # print('%d/%d'%(fz, fm))
    fz,fm = fz+fm, fz  # fz,fm = 3,2  , fz=3,fm=2

    # t = fz
    # fz = fz+fm    # 2+1=3
    # fm = t       # 3

print('%d/%d'%(fz, fm))

8.给⼀个正整数,要求:1、求它是⼏位数 2.逆序打印出各位数字
num = 16723 # 1672 167 16 1 0

# num2 = num
count = 0
while num != 0:
    count += 1
    print(num%10)
    num //= 10
print(count)


# 方法二:
num = 16723 
num_str = str(num)
print(len(num_str), num_str[::-1])

三、复习

1.分之结构

# if 
if 条件语句:
    代码块
# if-else
if 条件语句:
    代码块1
else:
    代码块2
# if-elif-else
if 条件语句1:
    代码块1
elif 条件语句2:
    代码块2
else:
    代码块3

2.循环结构

# for
语法:
for 变量 in 序列:
    循环体
else:
    代码段
执行过程:
# range(n), range(m,n), range(m,n,step)
# while循环
语法:
while 条件语句:
    循环体

else:
    代码段

3.break,continue, else

相关文章

网友评论

      本文标题:python 日常练习

      本文链接:https://www.haomeiwen.com/subject/xwfwoftx.html