有。in操作符;find()方法和count()方法和index()均能实现

import string

import keyword

alphas = string.letters + '_'

nums = string.digits

print "Welcome to the Identifier Checker v1.0"

while True:

myInput = raw_input("Identifier to test? ")

if len(myInput)

if myInput in alphas:

print "Okay as an identifier"

else:

print '''invalid: first symbol must be

alphabetic'''

elif len(myInput) >= 2:

if myInput in keyword.kwlist:

print 'invalid: cannot be keywords!'

elif myInput[0] not in alphas:

print '''invalid: first symbol must be

alphabetic'''

else:

for otherChar in myInput[1:]:

if otherChar not in alphas + nums:

print '''invalid: remaining

symbol must be alphabetic'''

break

else:

print "Okay as an identifier"

3.

a.

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

import random

print u"请根据提示输入数字"

num_list = []

for i in range(random.randrange(2,11)):

num = int(raw_input(u'请输入一个数字'.encode('gbk')).strip())

num_list.append(num)

i = 0

while i <= len(num_list) - 2:

for j in range(i,len(num_list)):

if num_list[i]

num_list[i], num_list[j] = num_list[j], num_list[i]

i += 1

print num_list

b.

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

import random

print u"请根据提示输入数字"

num_list = []

for i in range(random.randrange(2,11)):

num = int(raw_input(u'请输入一个数字'.encode('gbk')).strip())

num_list.append(num)

num_list.sort(reverse=True)

print num_list

4.

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

from __future__ import division

stu_num = int(raw_input(u"请输入学生个数:".encode('gbk')))

score = []

print u"请依次输入每个学生的分数,Q结束输入"

for i in range(stu_num):

try:

per_score = int(raw_input(u"请输入学生的得分".encode('gbk')))

score.append(per_score)

except ValueError:

break

for k, j in enumerate(score):

if 90 <= j <= 100:

print u'第 %d 个学生, 你的分数是 %d, 评分是 "A"' % (k+1, j)

elif 80 <= j <= 89:

print u'第 %d 个学生, 你的分数是 %d, 评分是 "B"' % (k+1, j)

elif 70 <= j <= 79:

print u'第 %d 个学生, 你的分数是 %d, 评分是 "C"' % (k+1, j)

elif 60 <= j <= 69:

print u'第 %d 个学生, 你的分数是 %d, 评分是 "D"' % (k+1, j)

else:

print u'第 %d 个学生, 你的分数是 %d, 评分是 "E"' % (k+1, j)

average = sum(score) / stu_num

print u"所有学生的平均分是: %.2f" % average

5.

a.

strings = raw_input("Please enter something:")

print strings[0], strings[1]

for i, j in enumerate(strings):

if 1 <= i <= len(strings) - 2:

print strings[i - 1], j, strings[i + 1]

print strings[-2], strings[-1]

b.

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

str1 = raw_input(u"请输入第一个字符串".encode('gbk'))

str2 = raw_input(u"请输入第一个字符串".encode('gbk'))

if len(str1) != len(str2):

print u"两个字符串不一致!!"

else:

for i in range(len(str1)):

if str1[i] != str2[i]:

print u"两个字符串不一致!!"

break

else:

print u"两个字符串完全一致!!"

c.

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

def if_palindrome(s):

if len(s) % 2:

print u'输入的字符串不是回文!'

else:

if s[:len(s)/2] == s[-1:len(s)/2-1:-1]:

print u"输入的字符串是回文!"

else:

print u"输入的字符串不是回文!"

a_string = raw_input(u"请输入一个字符串".encode('gbk'))

if_palindrome(a_string)

d.

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

def make_palindrome():

a_string = raw_input(u"请输入一个字符串: ".encode('gbk'))

print "BEFORE Palindrome: ", a_string

new_string = ''.join((a_string, a_string[::-1]))

print "AFTER Palindrome: ", new_string

make_palindrome()

6.

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

def str_strip(s):

s_strip = s

if s.startswith(' '):

i = 0

while i

if not s[i].isspace():

s_strip = s[i:]

break

i = i + 1

if s_strip.endswith(' '):

j = -1

while j >= -len(s_strip):

if not s_strip[j].isspace():

s_strip = s_strip[:j+1]

break

j = j - 1

return s_strip

a_string = raw_input(u'请输入一个字符串:'.encode('gbk'))

print str_strip(a_string)

7.

#! /usr/bin/env python

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

# 接收用户输入一个数字

num_str = raw_input('Enter a number: ')

#把用户的输入转换成数字格式

num_num = int(num_str)

#生成一个从1到用户输入的数字的列表

fac_list = range(1, num_num+1)

print "BEFORE:", fac_list

#定义i

i = 0

#while循环实现删去能被用户输入的数字整除的项

while i

#检验是否能被整除

if num_num % fac_list[i] == 0:

del fac_list[i]

i -= 1

#对i自加1,检验下一项

i = i + 1

#打印出最终结果

print "AFTER:", fac_list

8.

a.

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

while True:

num_str = raw_input(u'请输入一个整数:'.encode('gbk'))

if num_str.isdigit():

break

else:

print u"请输入一个整数"

num_list = list(num_str)

eng_name_list = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']

for i, j in enumerate(num_list):

num_list[i] = eng_name_list[int(j)]

print '-'.join(num_list)

b.

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

while True:

num_str = raw_input(u'请输入一个整数:'.encode('gbk'))

if num_str.isdigit():

break

else:

print u"请输入一个整数"

unit_list = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']

ten_list = ['ten', 'eleven', 'twelve',  'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']

decade_list = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']

hun = 'hundred'

def single_figure(s):

return unit_list[int(s)]

def double_figures(s):

num_list = list(s)

num_num = int(s)

if num_num in range(10, 20):

return ten_list[num_num-10]

elif int(num_list[1]) == 0:

return ''.join(decade_list[int(num_list[0])-2])

else:

num_list[0] = decade_list[int(num_list[0])-2]

num_list[1] = unit_list[int(num_list[-1])]

return '-'.join(num_list)

def three_figures(s):

num_list = list(s)

num_num = int(s)

num_list[0] = ' '.join((unit_list[int(num_list[0])], hun, 'and'))

if int(num_list[1]) != 0:

num_list[1:] = [double_figures(s[1:])]

return ' '.join(num_list)

elif int(num_list[1]) == 0 and int(num_list[-1]) != 0:

num_list[1:] = single_figure(s[2])

return ' '.join(num_list)

else:

return ' '.join((unit_list[int(s[0])], hun))

if len(num_str) == 1:

print single_figure(num_str)

elif len(num_str) == 2:

print double_figures(num_str)

elif len(num_str) == 3:

print three_figures(num_str)

else:

print u"输入的数字必须在0-1000之间!"

9.

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

time = raw_input(u"请输入要转换的分钟数".encode('gbk'))

result = list(divmod(int(time), 60))

print u"%d分钟等于%d小时加%d分钟。" %(int(time), result[0], result[1])

10.

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

while True:

a_string = raw_input(u'请输入要转换的英文字符串,退出输入Q: '.encode('gbk'))

new_string = []

if a_string.lower() == 'q':

break

for i in a_string:

if i.islower():

new_string.append(i.upper())

elif i.isupper():

new_string.append(i.lower())

else:

new_string.append(i)

new_string = ''.join(new_string)

print u"转换前的字符串是:", a_string

print u"转换后的字符串是:", new_string

11.

a.

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

address = []

for i in range(4):

per_address = raw_input(u'请依次输入四段IP地址,每段地址是0-255之间的整数:'.encode('gbk'))

address.append(per_address)

print u'您输入的IP地址是:%s' % '.'.join(address)

b.

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

import sys

address = []

for i in range(4):

per_address = raw_input(u'请依次输入四段IP地址,每段地址是0-255之间的整数:'.encode('gbk'))

address.append(per_address)

print u'您输入的IP地址是:%s' % '.'.join(address)

next = raw_input(u"接下来将进行逆转换,继续请回车,否则请输入Q退出".encode('gbk'))

if next.lower() == 'q':

sys.exit()

num = ['一', '二', '三', '四']

for i in address:

print u'转换后的四段分是:%s' % i

12.

a.

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

def findchr(string, char):

if char not in string:

return -1

else:

i = 0

while i

if string[i] == char:

return i

break

i += 1

b.

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

def rfindchr(string, char):

if char not in string:

return -1

else:

i = -1

while i >= -len(string):

if string[i] == char:

return i + len(string)

break

i -= 1

c.

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

def subchr(string, origchar, newchar):

if origchar not in string:

return u"未找到!"

else:

i = 0

while i

if string[i] == origchar:

return ''.join((string[:i], newchar, string[i+1:]))

break

i += 1

13.

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

def atoc(s):

error = 'ValueError: atoc() areg is a malformed string'

if '+' in s:

if s[-1] != 'j' or s.count('j') >= 2:

return error

else:

com = s.split('+')

real = float(com[0])

imag = float(com[1][:-1])

return complex(real, imag)

else:

if s.count('j') == 1:

real = 0

imag = float(s[:-1])

return complex(real, imag)

elif s.count('j') >= 2:

return error

else:

try:

real = float(s[:])

imag = 0

return complex(real, imag)

except ValueError:

return error

14.

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

import random

print u'欢迎来到石头剪刀布!'

choice_list = [u'石头', u'剪刀', u'布']

result = []

for i in choice_list:

for j in choice_list:

result.append((i, j))

15.

a.

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

from datetime import datetime

print u'这是一个计算两个日期之间天数的小程序'

print u'日期的格式是MM/DD/YY'

while True:

date1 = raw_input(u'请输入第一个日期'.encode('gbk'))

date2 = raw_input(u'请输入第二个日期'.encode('gbk'))

date_format = '%m/%d/%Y'

date1 = datetime.strptime(date1, date_format)

date2 = datetime.strptime(date2, date_format)

#date1_mm, date1_dd, date1_yy = [int(i) for i in date1.split('/')]

#date2_mm, date2_dd, date2_yy = [int(i) for i in date2.split('/')]

delta = date2 - date1

print u'两个日期之间相差%d天!' % delta.days

b.

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

import datetime

import time

print u'这是一个计算出生至今共有多少天的小程序'

print u'输入的出生日期的格式是MM/DD/YY'

while True:

Birthday = raw_input(u'请输入您的出生日期'.encode('gbk'))

date_format = '%m/%d/%Y'

today = datetime.datetime.strptime(time.strftime('%m/%d/%Y'), date_format)

Birthday = datetime.datetime.strptime(Birthday, date_format)

delta = today - Birthday

print u'WOW!你出生已经%d天了!' % delta.days

c.

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

import datetime

import time

print u'这是一个计算下次生日距今天的天数的小程序'

print u'输入的出生日期的格式是MM/DD/YY'

while True:

Birthday = raw_input(u'请输入您的出生日期'.encode('gbk'))

date_format = '%m/%d/%Y'

today = datetime.datetime.strptime(time.strftime('%m/%d/%Y'), date_format)

Birthday = Birthday.split('/')

if '-'.join((Birthday[0], Birthday[1])) > datetime.datetime.now().strftime('%m-%d'):

Birthday[2] = datetime.datetime.now().strftime("%Y")

else:

Birthday[2] = str(int(datetime.datetime.now().strftime("%Y"))+1)

Birthday = '/'.join(Birthday)

Birthday = datetime.datetime.strptime(Birthday, date_format)

delta = Birthday - today

print u'WOW!你的下次生日距今还有%d天!' % delta.days

17.

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

def myPop(Alist):

to_pop = Alist[-1]

del Alist[-1]

return to_pop

趣学python编程第六章答案_Python核心编程-第六章-习题相关推荐

  1. python核心教程第二版答案_python核心编程第二版第4章习题答案.docx

    python核心编程第二版第4章习题答案.docx 4-1.Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下. 答案: 所有的 Python 对象都拥有三个特性:身 ...

  2. python程序设计第一章答案_Python语言程序程序设计-第一章习题解答

    作为一名非计算机专业毕业的学生,一直想学Python用来解决工作中遇到的问题,但是对计算机一直摸不到好的门路,于是买到了Python语言程序程序设计这本书,用做习题的形式,积累自己的学习成果,相信不怕 ...

  3. python第六章课后题答案_python 核心编程第六章课后题自己做的答案

    6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 1 'Take a s ...

  4. python第五章课后编程题答案_Python核心编程-第五章课后习题

    5-1 整形 讲讲 Python 普通整型和长整型的区别 答:在2.7版本基本淡化了区别.真要区分的话,普通整型是32位或者64位,而长整型只与PC内存有关,很大就是了 5-2 运算符 (a) 写一个 ...

  5. 趣学python编程答案_《趣学Python编程》习题总结

    上周买了本书叫<趣学Python编程>(英文名:Python for kids),昨天看完后把书后面的题都做了下.由于第1.2章没有习题,第13章及之后都是描写实例的章节,因此这个总结性的 ...

  6. 《趣学Python——教孩子学编程》——第1部分 学习编程 第1章 Python不是大蟒蛇 1.1 关于计算机语言...

    本节书摘来自异步社区<趣学Python--教孩子学编程>一书中的第1章,第1.1节,作者[美]Jason R. Briggs,尹哲 译,更多章节内容可以访问云栖社区"异步社区&q ...

  7. 《趣学Python编程》——第1部分 学习编程 第1章 Python不是大蟒蛇 1.1 关于计算机语言...

    本节书摘来自异步社区<趣学Python编程>一书中的第1章,第1.1节,作者[美]Jason Briggs,尹哲 译,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 《趣学Python编程》——2.3 使用变量

    本节书摘来自异步社区<趣学Python编程>一书中的第2章,第2.3节,作者[美]Jason Briggs,尹哲 译,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  9. 学python编程-趣学python编程中文版 PDF 下载

    相关截图: 资料简介: Python是一款解释型.面向对象.动态数据类型的高级程序设计语言.Python语法简捷而清晰,具有丰富和强大的类库,因而在各种行业中得到广泛的应用.对于初学者来讲,Pytho ...

最新文章

  1. nginx重新编译安装mysql_Centos 6.5编译安装Nginx+php+Mysql
  2. Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]
  3. webui框架的利与弊
  4. php超星查课接口,这是一个可以查询超星课程的接口,请教一下该怎么用啊
  5. java 时间戳 星期几_java自定义获取星期几、几点、几分。
  6. 使用SDL打造游戏世界之入门篇 - 2
  7. 2003 64位系统 IIS6 32位模式运行
  8. C#的变迁史06 - C# 4.0 之并行处理篇
  9. python算法入门_GitHub标星2.6万!Python算法新手入门大全
  10. CAD输出的局部平面坐标数据配准转换到WGS84坐标系
  11. Kotlin 区间的一些小注意
  12. [2018.07.26 T2] 背包问题
  13. 6 Django的视图层
  14. Java面向对象之异常(自定义异常)
  15. WinHex自定义模板
  16. 西门子触摸屏脚本程序_西门子PLC触摸屏如何编写程序
  17. 一边裁员、一边招聘,领导到底想干啥?
  18. matlab中矩阵运算
  19. 关于GL中uniform类型sampler系列变量的值的设定
  20. Excel 日期相减 DATEDIF 函数用法实例

热门文章

  1. java中HashMap详解
  2. 无废话ADO.NET 第二章 关于连接
  3. 漂洋过海来看你 可惜Uber不便宜
  4. 【干货】智能电视UI设计那些事儿
  5. [洛谷P4705]玩游戏
  6. MPEG1 Audio介绍
  7. 亮剑:PHP,我的未来不是梦(5)
  8. [新闻]Ubuntu7.04于4月19日全球同步发布
  9. day 03 selenium与Beautifulsoup4的原理与使用
  10. Python中类型最佳判断方法