
東臨碣石,以觀滄海
今天的題目也不是很難,但是我由于沒有審清題目出錯(cuò)了,這個(gè)說(shuō)不過(guò)去啊。
題目是這樣的,編寫一個(gè)函數(shù),計(jì)算字符串中含有的不同字符的個(gè)數(shù)。字符在ACSII碼范圍內(nèi)(0~127)。不在范圍內(nèi)的不作統(tǒng)計(jì)。
s = raw_input()
n = 0
for i in set(s):
if ord(i) >= 0 and ord(i) <= 127:
n += 1
print n
通過(guò)了測(cè)試,但是好像還是有點(diǎn)不符合題意,這不是一個(gè)函數(shù)
看來(lái)還需要改一下
#有人用字典來(lái)實(shí)現(xiàn),通過(guò)統(tǒng)計(jì)key的數(shù)量,得到不同字符的個(gè)數(shù)
def count_char(s):
count_dict = {}
for i in s:
count_dict[i] = 1
return len(count_dict.keys())
a = raw_input('')
print count_char(a)
今天的第二道題目是數(shù)字顛倒
題目是輸入一個(gè)整數(shù),將這個(gè)整數(shù)以字符串的形式逆序輸出
程序不考慮負(fù)數(shù)的情況,若數(shù)字含有0,則逆序形式也含有0,如輸入為100,則輸出為001
今天的題目和上次的有一些類似,之前提到的字符串倒排序的知識(shí)點(diǎn),今天再?gòu)?fù)習(xí)一下。
1、strA[::-1]
2、strA.reverse()
今天看到還有一個(gè)類似的函數(shù)reversed,以及sorted
下面就來(lái)實(shí)現(xiàn)一下
import sys
s = raw_input()
s = reversed(s)
for i in list(s):
sys.stdout.write(i)
類似的還有將句子顛倒過(guò)來(lái)的
將一個(gè)英文語(yǔ)句以單詞為單位逆序排放。例如“I am a boy”,逆序排放后為“boy a am I”,所有單詞之間用一個(gè)空格隔開,語(yǔ)句中除了英文字母外,不再包含其他字符
s=raw_input()
r=s.split(" ")
r = r[::-1]
print ' '.join(r)
# 這個(gè)還有一個(gè)簡(jiǎn)單的寫法,就一行搞定
print ' '.join(raw_input().split()[::-1])
另外還有一個(gè)寫法,是比較規(guī)范的,寫了一些注釋信息
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/1/11 15:48
# @Author : xudandan
# @Site :
# @File : 句子逆序.py
# @Software: PyCharm
if __name__ == '__main__':
string = raw_input()
temp = string.split(' ')
res = ''
for val in temp[::-1]:
res += val
if val != temp[0]:
res += ' '
print res
參考資料:
https://www.nowcoder.com
http://blog.sina.com.cn/s/blog_7f5bc3670102vlke.html