Python教程

Python? 重解零基础100题(7)

本文主要是介绍Python? 重解零基础100题(7),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第61题

问题:打印unicode字符串“hello world”。

提示:使用u'strings'格式来定义unicode字符串;

解决方案:

unicodeString = u"hello world!"
print(unicodeString)

第62题

问题:python中的解码与编码;

提示:使用encode()与decode()函数进行转换。

s = '和鲸社区'
enc = s.encode('utf-8')
dec = enc.decode('utf-8')
print(enc)
print(dec)

第63题

问题:编写一个特殊注释来表明Python源代码文件是unicode格式的。

# -*- coding: utf-8 -*-
#----------------------------------------#

第64题

问题写一个程序来计算1/2+2/3+3/4+......+n/(n+1)。

示例:如果下面的n作为程序的输入:5;

那么,程序的输出应该是:3.55;

提示:使用float()将整数转换为浮点数。

n=int(input())
sum=0.0
for i in range(1,n+1):
    sum += float(float(i)/(i+1))
print(sum)

第65题

问题:编写程序计算:当n>0和F(0)=1时,F(n)=F(n-1)+100通过控制台输入一个给定的n (n>0)。

示例:如果下面的n作为程序的输入:5,

那么,程序的输出应该是:500;

提示:我们可以在Python中定义递归函数。

def f(n):
    if n==0:
        return 0
    else:
        return f(n-1)+100
n=int(input())
print(f(n))

第66题

问题:斐波那契数列的计算公式如下:如果n=0,f(n)=0;如果n=1,f(n)=1;如果n>1,f(n)=f(n-1)+f(n-2);请编写一个程序,在控制台输入给定n的情况下计算f(n)的值。

示例:如果下面的n作为程序的输入:7;

那么,程序的输出应该是:13;

提示:我们可以在Python中定义递归函数。

def f(n):
    if n == 0: return 0
    elif n == 1: return 1
    else: return f(n-1)+f(n-2)
n=int(input())
print(f(n))

第67题

问题:斐波那契数列的计算公式如下:如果n=0,f(n)=0;如果n=1,f(n)=1;如果n>1,f(n)=f(n-1)+f(n-2);请编写一个程序使用列表理解输出逗号分隔的Fibonacci序列,并通过控制台输入给定的n。

示例:如果下面的n作为程序的输入:7;

那么,程序的输出应该是:0,1,1,2,3,5,8,13;

提示:我们可以在Python中定义递归函数。使用列表理解从现有列表生成列表。使用string.join()连接字符串列表。

def f(n):
    if n == 0: return 0
    elif n == 1: return 1
    else: return f(n-1)+f(n-2)
n=int(input())
values = [str(f(x)) for x in range(0, n+1)]
print(",".join(values))

第68题

问题:请使用generator编写一个程序,当n由控制台输入时,以逗号分隔的形式输出0和n之间的偶数;

示例:如果下面的n作为程序的输入10;

那么,程序的输出应该是:0,2,4,6,8,10;

提示:使用yield生成生成器中的下一个值。

def EvenGenerator(n):
    i=0
    while i<=n:
        if i%2==0:
            yield i
        i+=1
n=int(input())
values = []
for i in EvenGenerator(n):
    values.append(str(i))
print(",".join(values))

第69题

问题:请编写一个生成器程序,以逗号分隔的形式输出0到n之间可以被5和7整除的数字,而n是通过控制台输入的。

示例:如果下面的n作为程序的输入:100;

那么,程序的输出应该是:0,35,70;

提示:使用yield生成生成器中的下一个值。

def NumGenerator(n):
    for i in range(n+1):
        if i%5==0 and i%7==0:
            yield i
n=int(input())
values = []
for i in NumGenerator(n):
    values.append(str(i))
print(",".join(values))

第70题

问题:请写assert语句来验证列表[2,4,6,8]中的每个数字都是偶数。

提示:使用“断言表达式”进行断言。

li = [2,4,6,8]
for i in li:
    assert i%2==0
这篇关于Python? 重解零基础100题(7)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!