chr*_*ear 1 c++ python arrays return list
这是我11年级CS班的。我正在创建一个将水平转换为百分比的程序。这是我为python代码制作的一个列表,该列表向用户显示当他们进入一个级别(例如3+)时的百分比,但是我想知道我是否可以在C ++中执行类似的操作。
grade= {}
grade['R-'] = '0%'
grade['R'] = '30%'
grade['R+'] = '40%'
grade['1-'] = '50%'
grade['1'] = '53%'
grade['1+'] = '57%'
grade['2-'] = '60%'
grade['2'] = '63%'
grade['2+'] = '67%'
grade['3-'] = '70%'
grade['3'] = '73%'
grade['3+'] = '77%'
grade['4-'] = '80%'
grade['4'] = '87%'
grade['4+'] = '95%
Run Code Online (Sandbox Code Playgroud)
与Python最相似的类型dict是std::unordered_map(元素的顺序是实现定义的)。
请注意,Python 3.7保证保留的插入顺序dict,但是C ++中没有标准实用程序提供这种功能(除非您愿意使用std::vector<std::pair<...>>)。
std::map保证键按某种顺序排序(默认值为operator <,这std::string意味着按字典顺序,就像现实世界中的字典一样)。
您可以像这样使用它:
#include <unordered_map>
#include <string>
int main()
{
std::unordered_map<std::string, std::string> grade;
grade["R-"] = "0%";
grade["R"] = "30%";
grade["R+"] = "40%";
grade["1-"] = "50%";
grade["1"] = "53%";
grade["1+"] = "57%";
grade["2-"] = "60%";
grade["2"] = "63%";
grade["2+"] = "67%";
grade["3-"] = "70%";
grade["3"] = "73%";
grade["3+"] = "77%";
grade["4-"] = "80%";
grade["4"] = "87%";
grade["4+"] = "95%";
}
Run Code Online (Sandbox Code Playgroud)
注意双引号-C ++看到单引号(用于单字符)和双引号(用于字符串)之间的区别。