46 Simple Python Exercises-Very simple exercises

4、Write a function that takes a character (i.e. a string of length 1) and returns True if it is a vowel, False otherwise.

#编写一个函数,该函数接受一个字符(即长度为1的字符串),如果是元音,则返回true,否则返回false。

def if_vowel(a):
a=a.lower()
if a in('a','e','i','o','u'):
return True
else:
return False
print(if_vowel('A'))

5、Write a function translate() that will translate a text into "r�varspr�ket" (Swedish for "robber's language"). That is, double every consonant and place an occurrence of "o" in between. For example, translate("this is fun") should return the string "tothohisos isos fofunon".

编写一个函数translate(),将文本转换为“r varspr ket”(瑞典语表示“强盗的语言”)。也就是说,将每个辅音加倍,并在中间加上“o”。例如,translate(“this is fun”)应该返回字符串“totohohisos isos fofunon”。

def if_vowel(a):
if a in('a','e','i','o','u'):
return True
else:
return False
def translate(string):
char_list=[]
for char in string:
if if_vowel(char) or char==" ":
char_list.append(char)
else:
char_list.append(char+'o'+char)
return "".join(char_list)
print(translate("this is fun")) 6、Define a function sum() and a function multiply() that sums and multiplies (respectively) all the numbers in a list of numbers. For example, sum([1, 2, 3, 4]) should return 10, and multiply([1, 2, 3, 4]) should return 24.
定义一个函数sum()和一个函数multiple(),分别对数字列表中的所有数字求和和和相乘。例如,SUM([1,2,3,4])应返回10,乘法([1,2,3,4])应返回24。
def sum(sum_list):
sum1 = 0
for b in sum_list:
sum1 += b
return sum1
print(sum([1,2,3,4])) def mul(mul_list):
mul1=1
for a in mul_list:
mul1 = mul1*a
return mul1
print(mul([1,2,3,4,5])) 7、Define a function reverse() that computes the reversal of a string. For example, reverse("I am testing") should return the string "gnitset ma I".
定义计算字符串反转的函数reverse()。例如,Reverse(“I am testing”)应该返回字符串“gnitset ma i”。
def reverse(string):
revStr = ''
for i in range(len(string)):
revStr += string[len(string) - i - 1] return revStra print(reverse('test')) #方法二
def reverse(string):
revStr=''
for i in range(len(string)-1, -1, -1):
revStr += string[i] return revStr print(reverse('test')) 8、Define a function is_palindrome() that recognizes palindromes (i.e. words that look the same written backwards). For example, is_palindrome("radar") should return True.
定义一个函数是识别回文的_palindrome()(即向后写的单词)。例如,“回文”(“radar”)应该返回true。
def is_palindrome(string):
if string == ''.join(list(reversed(string))):#reversed输出的是一个迭代器
return True
else:
return False
print(is_palindrome('8radar8')) #迭代器:http://www.runoob.com/python3/python3-iterator-generator.html
#Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
#.join: http://www.runoob.com/python3/python3-string-join.html 9、Write a function is_member() that takes a value (i.e. a number, string, etc)
x and a list of values a, and returns True if x is a member of a, False otherwise. (Note that this is exactly
what the in operator does, but for the sake of the exercise you should pretend Python did not have this operator.)

写一个函数是获取一个值(即数字、字符串等)的_member()。

x和值a的列表,如果x是a的成员,则返回true,否则返回false。(注意,这正是

in操作符所做的,但是为了练习,您应该假装python没有这个操作符。)

 
def is_member(x,a_list):
for b in a_list:
if x==b:
return True
return False print(is_member(3,[2,3,4]))

10、Define a function overlapping() that takes two lists and returns True if they have at least one member in common, False otherwise. You may use your is_member() function, or the in operator, but for the sake of the exercise, you should (also) write it using two nested for-loops.

定义一个函数overlapping(),该函数接受两个列表,如果它们至少有一个公共成员,则返回true,否则返回false。您可以使用is_member()函数或in运算符,但为了练习,您还应该(也)使用两个嵌套的for循环来编写它。

def overlapping(list1,list2):
for a in list1:
for b in list2:
if a==b:
return True
return False
print(overlapping([1,2,3],[11,5,6,7])) 11.Define a function generate_n_chars() that takes an integer n and a character c and returns a string, n characters long, consisting only of c:s.
For example, generate_n_chars(5,"x") should return the string "xxxxx". (Python is unusual in that you can actually write an expression 5 * "x"
that will evaluate to "xxxxx". For the sake of the exercise you should ignore that the problem can be solved in this manner.)
def generate_n_chars(n,c):
list1=[]
for i in range(n):
list1.append(c)#注意append的用法,之前写成了list1=list1.append() 这样就错了
return ''.join(list1)
print(generate_n_chars(10,'s2')) 12、Define a procedure histogram() that takes a list of integers and prints a histogram to the screen.
For example, histogram([4, 9, 7]) should print the following:

****

*********

*******

def histogram(list1):
list2=[]
for a in list1:
list2.append(a*'*')
return '\n'.join(list2) print(histogram([3,4,5]))
												

46 Simple Python Exercises-Very simple exercises的更多相关文章

  1. 46 Simple Python Exercises (前20道题)

    46 Simple Python Exercises This is version 0.45 of a collection of simple Python exercises construct ...

  2. 46 Simple Python Exercises-Higher order functions and list comprehensions

    26. Using the higher order function reduce(), write a function max_in_list() that takes a list of nu ...

  3. Simple python reverse shell

    import base64,sys; import socket,struct s=socket.socket(2,socket.SOCK_STREAM) s.connect(('Attack's I ...

  4. Python Web Scraper - Simple Url Request

    from urllib.request import urlopen html = urlopen("http://www.baidu.com") print(html.read( ...

  5. MITx: 6.00.1x Introduction to Computer Science and Programming Using Python Week 2: Simple Programs 4. Functions

    ESTIMATED TIME TO COMPLETE: 18 minutes We can use the idea of bisection search to determine if a cha ...

  6. simple python code when @ simplnano

    code: import serial,time,itertools try: ser=serial.Serial(2,115200,timeout=0) except: print 'Open CO ...

  7. PCI Express(六) - Simple transactions

    原文地址:http://www.fpga4fun.com/PCI-Express6.html Let's try to control LEDs from the PCI Express bus. X ...

  8. 用于Simple.Data的ASP.NET Identity Provider

    今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软 ...

  9. 学习simple.data之基础篇

    simple.data是一个轻量级的.动态的数据访问组件,支持.net4.0. 1.必须条件和依赖性: v4.0 or greater of the .NET framework, or v2.10 ...

随机推荐

  1. JavaScript中函数作为值

    function myfunc() { // .. } 这是个函数,这样理解, myfunc只是外层作用域的一个变量,指向刚刚声明的function. 也就是说,function本身就是一个值, 就像 ...

  2. CRM 客户关系管理系统

    CRM(Customer Relationship Manager)客户关系管理系统 企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方 ...

  3. linux 内核与用户空间通信机制netlink初探

      1.Linux进程概述 Linux中的进程间通信机制源自于Unix平台上的进程通信机制.Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上各有所不同,前者形成了运行 ...

  4. H5 简介

    HTML5 - 新特性 HTML5 的一些最有趣的新特性: 新的语义元素,比如 <header>, <footer>, <article>, and <sec ...

  5. PAT1060【大模拟啊】

    怎么麻烦怎么来了??? 提供几个案例: 5 0.00001 0.00001 0 0.0 0.0222 1 0.001 0.2000 2 005.06 0.230 1 00.020 0 贴份代码跑.. ...

  6. Ocelot(四)- 认证与授权

    Ocelot(四)- 认证与授权 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/10932805.html 源码地址:http ...

  7. [Xcode 实际操作]四、常用控件-(11)UIDatePicker日期时间选择器

    目录:[Swift]Xcode实际操作 本文将演示日期拾取器的使用. 使用日期拾取器,可以快速设置和选择日期与时间. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] ...

  8. [转] ios打包IPA的各种问题和解决方法

    最近做了一个东西,在打包ipa文件时遇到了各种问题,纠结了我好几天. 由于我一直是做android的,在打包时以为ios打包也和android一样:用IDE(eclipse)生成一个签名证书,然后打包 ...

  9. luoguP4921 情侣?给我烧了!

    luogu 考虑对于\(n\)对情侣,恰好\(k\)对是和谐的方案数是 \[ ans[n][k]=\binom{n}{k}A^k_n2^kg(n-k) \] \(g(n)\)为全部\(n\)对情侣不和 ...

  10. php接入图灵机器人

    官网:http://www.tuling123.com 文档:https://www.kancloud.cn/turing/www-tuling123-com/718218 注册账号获取:apikey ...