Presentation is loading. Please wait.

Presentation is loading. Please wait.

上机练习(1) SEIEE 4-311 Oct 15, 2014.

Similar presentations


Presentation on theme: "上机练习(1) SEIEE 4-311 Oct 15, 2014."— Presentation transcript:

1 上机练习(1) SEIEE Oct 15, 2014

2 1. 编写函数,接收用户输入得标示符,检查有效标示符。

3 2. 编程实现如下功能:从键盘输入 一个三角形的三个边长,判断该三 个边能否构成三角形,如能构成三 角形则将三角形的周长与面积在屏 幕输出。
2. 编程实现如下功能:从键盘输入 一个三角形的三个边长,判断该三 个边能否构成三角形,如能构成三 角形则将三角形的周长与面积在屏 幕输出。

4 附加题:加密游戏 将单词的每个字母“轮转”13个位置。轮转一个字母表示在字母表中移动它;如果需要,则循环从头开始。
例如,”A”移动3个位置是”D”, 而”Z”移动一个位置是”A”。 编写一个函数rotate_word,接收一个字符串和一个整数作为参数,并返回一个新字符串,其中的字母按照给定的整数值“轮转”位置。 例如,”cheer”轮转7位的结果为”jolly”,而”melon”轮转-10位的结果是”cubed”。

5 上机练习(1)解析

6 练习1: 解析 import string def GetIdentifier():
id = raw_input('Please input an identifier:') id = string.lower(id) return id def CheckIdentifier(id): for i in range(0,len(id),1): w = CheckChar(i,id[i]) if w[0]=='W': return w return 'Right!'

7 练习1: 解析 def CheckChar(i,j): if i == 0:
if (j=='_')or (j>='a' and j<='z'): return 'C' else: return 'Wrong!' if (j=='_')or (j>='a' and j<='z')or (j>='0' and j<='9'):

8 练习1: 解析 def main(): id=GetIdentifier() print id
result=CheckIdentifier(id) print result main()

9 练习2: 解析 编程实现如下功能:从键盘输入一个三角形的三个边长, 判断该三个边能否构成三角形,如能构成三角形则将三角 形的周长与面积在屏幕输出。 from math import * def IsTriangle(a,b,c): if a>0 and b>0 and c>0: if a+b>c and b+c>a and a+c>b: return True else: return False def GetEdges(): a=input('please input edge a:') b=input('please input edge b:') c=input('please input edge c:') return a,b,c 是否还有别的判别条件?

10 练习2: 解析 def GetArea(a,b,c): p = GetPerimeter(a,b,c)/2.0
s = sqrt(p * (p - a) * (p - b) * (p - c)) return s def Main(): a,b,c=GetEdges() Result=IsTriangle(a,b,c) if Result==True: print "The area is",str(GetArea(a,b,c))+'.' print "The perimeter is",str(GetPerimeter(a,b,c))+'.' else: print 'cannot be a triangle!' Main() Don’t forget me!

11 附加题:解析 rotate_letter(letter,n) rotate_word(word,n) while True :
_string = raw_input("please input string: ") if _string=="" : break _number = input("please input number: ") print rotate_word(_string, _number) rotate_letter(letter,n) import string def rotate_letter(letter, n): if letter.isupper(): start = ord('A') elif letter.islower(): start = ord('a') else: return letter c = ord(letter) - start i = (c + n) % 26 + start return chr(i) rotate_word(word,n) def rotate_word(word, n): """Rotates a word by n places. word: string n: integer Returns: string """ res = "" for letter in word: res += rotate_letter(letter, n) return res

12 课后作业 编程序,从函数输入一个字符串,将字符串中的数字删除,并将大写字母改 为小写,最后的结果在函数中打印。例如输入Abc123De4f,则输出abcdef。 假定输入字符串中只包含字母和*号,请编写函数fun,它的功能是将字符串 中间的*号删除,前面和后面不删除。函数中不要使用指针,结果在函数中 打印。例如输入字符串的内容为***a**b**c*d***,则输出***abcd***。 编写函数,输入年、月、日,计算该日是该年的第几天(注意判断该年是否 为闰年)。 编写函数,实现如下功能:从函数输入一个字符串,将字符串中索引为偶数, 同时ASCII为奇数的字符后面加*号,新生成的字符串在函数中打印。例如, 输入字符串ABCDEFG12345,则打印A*BC*DE*FG*12345。 编写函数,统计字符串中的单词个数。例如输入I am a boy! 则返回单词个 数为4。 一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个 数本身,则称其为花朵数。(n=3时称为“水仙花”数。)编程序,输入n, 输出n位的全部花朵数。


Download ppt "上机练习(1) SEIEE 4-311 Oct 15, 2014."

Similar presentations


Ads by Google